Java:详解Java中的异常

时间:2021-12-19 10:54:12

Java异常

Java中的异常:又称例外,是一个在程序执行期间发生的事件,它中断正在执行程序的正常指令流

异常的分类:Throwable:类是java语言中所有错误或异常的超类,这意味着只要指示错误或异常,那么肯定是thrawble子类的实例,但是事实上由于错误异常内容过于庞大,所以设计人员将它们分开来,这就是thrawble的两个子类,Error和Exception

  • Error类是负责错误,它指程序运行的时候遇到硬件或操作系统的错误,这些错误都是严重并且致命的,是依靠程序自身无法解决的。
  • Exception是运行时的错误,它可以被捕获并处理(运行时异常:RuntimeException类及其子类异常,这些异常都是不检查异常,程序中可以选择捕获处理,也可以不处理,这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。非运行时异常:RuntimeException以外的异常,类型上都属于Exception类及其子类,从语法角度上讲是必须处理的异常,如果不处理,程序就不能通过编译)

常见异常

Java:详解Java中的异常

异常的处理 :通过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类中的方法,用于垃圾回收

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注服务器之家的更多内容!

原文链接:https://blog.csdn.net/weixin_45750514/article/details/119804612