JAVA异常体系

JAVA异常体系

 异常就是指程序在运行时出现错误通知调用者的一种机制,
 运行时:已经通过编译得到class文件了,再由JVM执行过程中出现的错误。
异常体系说明:
1)顶层类Throwable派生出两个重要的子类,Error和Exception
2)其中Error指的是JAVA运行时内部错误和资源耗尽错误,这种错误一出现应用程序就会终止。
3)Exception是编写代码时所用的异常类的父类
4)其中Exception有一个子类称为RuntimeException,这里面又派生出很多我们常见的异常类,如NullPointerException(空指针异常),IndexOutOfBoundsException(下标越界)等

在这里插入图片描述

异常处理流程

捕获异常的基本语法:

 try{
     有可能出现异常的语句;
     }catch(异常类型  异常对象){
        调用栈;
        }finally{
        异常的出口;
       }
说明:try代码块中放的是可能出现异常的代码
           catch中放的是出现异常后的处理行为
          finally代码块中的代码用于处理善后工作,会在最后执行
          catch和finally都可以根据情况选择加或者不加

注意:finally中最好不要出现return语句,因为它执行的时机是在方法返回之前(try或者catch中如果有return会在这个return之前执行finally),如果finally中也存在return语句,那么就会执行finally中的return,从而不会执行到try中原有的return,例如:

 public static void main(String[] args){
      System.out.println(func());
      }
      publicb static int func(){
         try{
              return 10;
              }finally{
              return 20;
              }
         }

在这里插入图片描述

抛出异常

1)Throw关键字

public static void main(String[] args){
   System.out.println(divide(10,0));
   }
   public static void divide(int x,int y){
        if(y==0){
          throw new ArithmeticException("抛出除零异常");
          }
          return x/y;
     }

2)Throws关键字
在这里插入图片描述

受查异常和非受查异常

Java语言将派生于Error类或者RuntimeException类的所有异常称为非受查异常,所有的其他的异常称为受查异常。 两者之间的差别在于使用受查异常时的合法性要在编译时刻由编译器来检查,所以比非受查异常需要更多的代码来避免编译错误。

  如果一段代码可能抛出受查异常,那么必须进行显示处理。
  显示处理的方法:
   1)使用try caych包裹
   2)在方法上加上异常说明,相当于将处理动作交给上级调用者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值