韩顺平java基础-12-异常

韩顺平java基础-12-异常

异常#

基本概念#

语法错误、逻辑错误不属于异常,区分语法错误、逻辑错误与异常的区别

分类

  1. Error:指编译器无法处理解决的错误,可能是语法错误、逻辑错误。
  2. Exception:编译时异常、运行时异常

异常体系图

异常分为运行时异常与编译时异常

  1. 运行时异常,编译器检查不出来,一般是编程时的逻辑错误。可以不做处理
  2. 编译时异常,是编译器要求必须处理的异常。

常见运行时异常#

  1. NullPointerException 空指针异常

在需要使用对象时,对象为空

  1. ArithmeticException 数学运算异常

数字运算时发生异常,如除法中,除数为0

  1. ArrayIndexOutOfBoundsException 数组下标越界异常

数组越界,如遍历数组时,超出数组范围

  1. ClassCastException 类型转换异常

类型转换时发生异常,如向下转型,编译类型与运行类型不匹配

  1. NumberFormatException 数字格式不正确异常

如字符串转换成整数类型发生异常


编译异常#

在编译时就必须处理的异常


异常处理-机制#

  1. try-catch-finally
Copy Highlighter-hljs
try{ 代码//可能出现异常} catch(Exception e){ //捕获异常后处理(若没有异常发生,则不会执行)} finally{ //不管是否发生异常,始终要执行finally //通常放入释放资源的代码}
  1. throws

抛出异常至上一级,->jvm虚拟机:输出异常信息、退出程序

若没有任何处理,默认使用throws处理异常


异常处理细节#

  1. 如果可能有多个异常,可以使用多catch语法,分别捕获具体的异常,要求子类异常在前,父类异常在后。
  2. 可以使用try-finally 异常仍然会使程序崩溃,但依然会执行finally
  3. 没有出现异常,则执行try中所有语句,catch将不再执行,如果有finally,最后执行finally
  4. 出现异常,try剩余语句不再执行,执行catch语句,若有finally,还要执行finally语句
posted @   forest-pan  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示
CONTENTS