Java异常

@Java

大家好,我是Ziph!

异常知识模板目录

一、异常的概念
二、异常的分类
三、异常的产生
四、异常的传递
五、异常的处理
六、自定义异常

今天分享下面异常的知识内容。
结合思维导图学习效果更佳!点击下方链接进入
Java异常思维导图

一、异常的概念

  • 概念:程序在运行过程中出现的特殊情况
  • 异常处理的必要性:任何程序都可能存在大量的未知问题、错误;如果不对这些问题进行正确处理,则可能导致程序的中断,造成不必要的损失

二、异常的分类

  • Throwable:可抛出的,一切错误或异常的父类,为与java.lang包下
  • Error:JVM、硬件、执行逻辑错误,不能手动处理
  • Exception:程序在运行和配置中产生的问题,可处理
    • RuntimeException:运行时异常,可处理,可不处理
    • CheckedException:受查异常,必须处理

三、异常的产生

  • 自动抛出异常:当程序在运行时遇到不符合规范的代码或结果时,会产生异常
  • 手动抛出异常:语法:throw new 异常类型(“实际参数”);
  • 产生异常结果:相当于遇到return语句,导致程序因异常而终止

四、异常的传递

  • 异常的传递:按照方法的调用链反向传递,始终没有处理异常,最终会由JVM进行默认异常处理(打印堆栈跟踪信息)
  • 受查异常:throws 声明异常,修饰在方法参数列表的后端
  • 运行时异常:因可处理可不处理,无需声明异常

五、异常的处理

Java异常
常见异常结果
Java异常

六、自动义异常

  • 需继承自Exception或Exception的子类,常用RuntimeException
  • 必要提供的构造方法:
    • 无参数构造方法
    • String message参数的构造方法

方法覆盖

  • 带有异常声明的方法覆盖:
    • 方法名、参数列表、返回值类型必须和父类相同
    • 子类的访问修饰符符合父类向相同或是比父类更宽
    • 子类中的方法,不能抛出比父类更多、更宽的异常

 
 
 
如有问题请留言回复!

拜拜