Java捕获异常(入门级)

⭐一、什么是异常

异常就是程序运行时,出现代码报错或者终止代码运行,它阻止了程序正常执行,这就是异常。在Java编译或运行或者运行过程中出现的错误。

Java提供了更加优秀的解决办法:异常处理机制。

⭐二、捕获异常

Java异常机制关键字有:try、catch、finally、throw、throws。

  • try – 用于监听。将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块内发生异常时,异常就被抛出。
  • catch – 用于捕获异常。catch用来捕获try语句块中发生的异常。
  • finally – finally语句块总是会被执行。
  • throws – 用在方法签名中,用于声明该方法可能抛出的异常。
  • throw – 用于抛出异常。

🌠2.1单个异常捕获

基本语法

 
try{
 有可能出现异常的语句 ;
}catch (异常类型 异常对象) {
 针对异常进行处理的代码
}finally {
 异常的出口
}

代码演示

 
public class Test2 {
    public static void main(String[] args) {
        try {	//监视代码
        	//可能出现异常的语句
            int[] nums = new int[5];
            System.out.println(nums[6]);
        }catch (ArrayIndexOutOfBoundsException ex){	//捕捉异常的类型
            ex.printStackTrace();	//异常信息
            System.out.println(ex.getMessage());	//输出异常的具体消息
        }
            System.out.println("拜拜!");
    }
}

🌠2.2多个异常捕获

基本语法

 
try{
 有可能出现异常的语句 ;
}catch (异常类型1 异常对象) {
 	针对异常进行处理的代码
}catch (异常类型2 异常对象){
	针对异常进行处理的代码
}catch (总异常(未发生的异常) 异常对象){
	针对异常进行处理的代码
}finally {
 异常的出口
}

代码预览

 
public class Test {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        double shang=0;	//商
        try {
        	//监视可能出现异常的代码
            System.out.println("请输入第一个数:");
            int num1 = input.nextInt();
            System.out.println("请输入第二个数:");
            int num2 = input.nextInt();
            shang = num1 / num2;
        }catch (ArithmeticException ex) {	//处理异常的方法1
            System.out.println(ex.getMessage());
            System.out.println("除数不能为零");
        }catch (InputMismatchException ex){ //处理异常的方法2
            System.out.println(ex.getMessage());
            System.out.println("输入不能为中文");
        }catch (Exception ex){ //处理异常的方法3
            System.out.println("异常待解决");
        }finally {
            System.out.println(shang);
            System.out.println("拜拜!");
        }
    }
}

🌠2.3Exception(异常)

Exception(异常)是所有异常中的父类,在代码处理异常的时候运用其他处理异常的类型也应当把Exception异常给添加到后面,防止出现未知异常导致代码的正常运行。

注意:在处理异常的时候Exception(异常)必须放在最后,因为它是所有异常的父级,如果异常之间存在上下级关系,上级需要放在后面。

 

⭐ 三、总结:

  • catch 不能独立存在。
  • catch里面不能没有内容
  • 在 try/catch 后面添加 finally 块并非强制性要求的。
  • try 代码后不能既没 catch 块也没 finally 块。。
  • finally里面的代码最终一定会执行(除了JVM退出)
  • 如果程序可能存在多个异常,需要多个catch进行捕获。
  • 异常如果是同级关系,catch谁前谁后没有关系
  • 如果异常之间存在上下级关系,上级需要放在后面

✨最后✨

总结不易,希望uu们不要吝啬你们的👍哟(^U^)ノ~YO!!
如有问题,欢迎评论区批评指正😁

posted @   蹲在街边吃辣条  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示