Java:详解Java中的异常
作者:https://blog.csdn.net/weixin_45750514/article/details/119804612
Java异常
Java中的异常:又称例外,是一个在程序执行期间发生的事件,它中断正在执行程序的正常指令流
异常的分类:Throwable:类是java语言中所有错误或异常的超类,这意味着只要指示错误或异常,那么肯定是thrawble子类的实例,但是事实上由于错误异常内容过于庞大,所以设计人员将它们分开来,这就是thrawble的两个子类,Error和Exception
- Error类是负责错误,它指程序运行的时候遇到硬件或操作系统的错误,这些错误都是严重并且致命的,是依靠程序自身无法解决的。
- Exception是运行时的错误,它可以被捕获并处理(运行时异常:RuntimeException类及其子类异常,这些异常都是不检查异常,程序中可以选择捕获处理,也可以不处理,这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。非运行时异常:RuntimeException以外的异常,类型上都属于Exception类及其子类,从语法角度上讲是必须处理的异常,如果不处理,程序就不能通过编译)
常见异常
异常的处理 :通过5个关键字控制 try catch throw throws finally
- 捕获异常 try里面的代码越少越好 catch中必须含有内容,哪怕是简单的提示
try{可能出现异常的代码}catch(异常的类名 变量名){针对异常的处理方式}finally{释放资源}
try{可能出现异常的代码}catch(异常的类名 变量名){针对异常的处理方式}
try{可能出现异常的代码}catch(异常的类名1 变量名){针对异常的处理方式}catch(异常的类名2 变量名){针对异常的处理方式}...
- 编译期异常和运行期异常
运行期异常:代码不够严谨,需要修改代码
编译期异常:必须处理,否则编译不通过
- Throwable
String getMessage() 详细信息字符串
String toString() 返回异常的简短描述
- throws 抛出异常 必须写在方法声明的后面 尽量不要在主方法上抛出异常
throws 异常类名
- throw 在方法内部主动抛出的异常
throw 异常的对象
- finally 保证资源一定得到释放
try{可能出现异常的代码}catch(异常的类名 变量名){针对异常的处理方式}finally{释放资源}
- 自定义异常
继承Exception(编译期异常)
继承RunTimeException(运行期异常)
throw和throws的区别
1.前者写在方法内部 后者写在方法声明的后面
2.前者后面跟的是异常对象 后者跟的是异常类名
3.前者后面只能是一个异常对象 后者可以跟多个一场类名
final、finally、finalize的区别
final
- 修饰类 类不能被继承
- 修饰方法 方法不能被覆盖
- 修饰变量 变量为常量只能赋值一次
finally:异常处理中的组成部分,作用是释放资源,放在finally中的代码一定会执行
finalize:是Object类中的方法,用于垃圾回收
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!