栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

异常:try-catch处理异常

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

异常:try-catch处理异常

Exception:在程序的运行过程中,发生了不正常的现象,阻止了程序的运行,我们称之为发生异常

用if-else堵漏洞的缺点(基本不会用if-else来处理异常)

(1)代码臃肿,业务代码和处理异常的代码混在一起

(2)可读性差

(3)程序员需要花费大量的精力来维护这个漏洞

(4)程序员很难堵住所有漏洞(异常)

一:基于if-else处理异常缺点太多,所以Java中专门出了一个异常处理机制:“异常三连”try-catch-finally

二:异常怎么看:

第一行:提示异常的类型

最后一行:提示异常出现的位置

三:捕获异常(用try-catch)

import java.util.InputMismatchException;
import java.util.Scanner;

public class num5 {
public static void main(String[] args) {
    System.out.println("<<<<<<使用try.....cath处理输入异常>>>>>>");
    num5 n=new num5();
    n.sr();
    
}
public void sr(){
    Scanner sc=new Scanner(System.in);
    System.out.print("请输入一个数字:");
    try {
        sc.nextInt();
        System.out.println("程序运行结束,谢谢你的配合!!!");
    } catch (InputMismatchException e) {
        // TODO: handle exception
        System.out.println("你输入的不是一个有效数字,请重新输入!");
        sr();
    }
}
}
 

原理:把可能出现异常的代码放入try代,然后码块中,让后将异常封装为对象,被catch后面的()中的那个异常对象接受,接受以后,执行catch后面的{}里面的代码,然后try-catch后面的代码该怎么执行就怎么执行。

情况:

(1)try中没有异常,catch中代码不执行

(2)try中没有异常,catch进行捕获

如果catch中异常类型和你的异常类型匹配的话:走catch中的代码进行捕获

如果catch中异常类型和你的异常类型不匹配的话:不走catch中的代码,没有捕获成功,程序相当于遇到异常,中断了,后续代码不执行

注意:

(1)try中如果出现异常,然后catch捕获成功的话,那么try中后续的代码是不会执行的

(2)如果catch捕获异常成功,那么try-catch后面的代码该执行还是执行,没有影响

(1)在什么情况下,try-catch后面的代码不执行?

1.throw抛出异常的情况

2.catch中没有正常的进行异常捕获

3.在try中遇到return

(2)怎么样才可以将try-catch后面的代码必须执行?

只要将必须执行的代码放入finally中,那么这个代码无论如何一定执行

(3)return和finally执行顺序?

先执行finally最后执行return

(4)什么代码会放在finally中?

关闭数据资源,关闭io流资源,关闭socket资源

(5)有一句代码很厉害,它可以让finally中的代码不执行

system.exit(status:0);终止当前的虚拟机执行,以下代码就不执行了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/770755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号