Java - 异常 ( Exception )

异常体系:

java.lang.Throwable 异常的根类
java.lang.Error:致命错误,无法处理的错误,必须的修改程序.
java.util.Exception: 异常产生后可以进行纠正 , 使程序继续运行.

Exception

编译异常: 写代码的时候,出现的异常,必须处理异常
         - - > 要么throws继续抛出给调用者处理 , 要么try … catch 自己处理。
运行异常:运行的过程中 , 出现的异常 , 交给虚拟机(JVM)处理

虚拟机(JVM)处理异常的方式

中断处理
1. 以红色的字体打印异常信息到控制台
2. 终止程序

声明异常throws

用在方法声明上 , 继续声明抛出异常对象,交给JVM中断处理.
声明异常格式:
     修饰符 返回值类型 方法名(参数) tthrows 异常类名1,异常类名2 …{ }

捕获异常try…catch

好处:try…catch之后有后续代码,会继续执行.
try{
     该代码块中编写可能产生异常的代码。
}catch(异常类型 e){
     对捕获到的异常进行处理
     //记录日志/打印异常信息/继续抛出异常
}finally{
      一定会执行的代码 , 释放资源(IO流).
}
处理逻辑 :
try中如果没有异常,正常执行try中代码, 完了继续执行trycatch之后的代码.
try中如果有异常, 执行catch中的异常处理逻辑,然后继续执行trycatch后的代码.

自定义异常:

开发中根据自己业务的异常情况来定义异常类。
格式:
pulic class LoginException extends Exception / RuntimeException{
      空参数构造方法( ){
      }
      带字符串参数构造方法(String message){
           super(message);
      }
}
处理自定义异常类:★
1.自定义的异常类名一般都以Exception结尾,一看就知道是异常类
2.自定义的异常类必须继承: Exception(throws,try…catch)
                                     或者:RuntimeException:(交给JVM–>中断处理)

 常用的异常:
           ClassCastException : 类型转换异常.
           IndexOutOfBoundException:索引越界异常-集合
           NullPointerException:空指针异常
           ArrayIndexOutOfBoundException:数组索引越界异常.
           StringIndexOutOfBoundException:字符串索引越界异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值