异常处理

一、异常基本介绍

概念:将程序中发生的不正常情况称为“异常”,异常分为两类:运行时异常和编译时异常

二、异常体系图

异常处理

三、异常处理方式

一、try...catch...finally

程序员在代码中捕获发生的异常,然后自行处理,处理机制:
异常处理
没有finally的异常捕获方式
异常处理

二、throws

将发生的异常抛出,交给调用者来处理,最*的处理着就是JVM,处理机制:
异常处理
1、如果一个方法在执行中可能生成异常,但不确定如何处理这种异常,则此方法应显示的声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负责处理
2、在方法声明中用throws语句可以声明抛出异常的列表,throws后面的异常类型可以是方法中产生的异常类型,也可以是他的父类

三、使用细节

  1. 对于编译异常,程序必须处理
  2. 对于运行时异常,程序如果没有处理,默认就是throws的处理方式
  3. 子类重写父类方法的时候,对抛出异常的规定:子类重写的方法,所抛出的异常类型要么和父类抛出的一致,要么为父类抛出的异常类型的子类型
  4. 在throws过程中,如果有方法try...catch,就相当于处理异常,不必使用throws

四、自定义异常

当程序中出现了某些错误,但该错误信息并没有在throwable子类中处理,这个时候可以自己设计异常类,用于描述该错误信息

一、自定义异常步骤

  1. 定义类,自定义异常类名继承Exception或者RuntimeException
  2. 如果继承Exception,则属于编译异常
  3. 如果继承RuntimeException,则属于运行异常

二、throw和throws区别

异常处理

上一篇:java-使用反射给属性赋值(适用于多对象共用一个处理参数的方法)


下一篇:218 异常处理之throws