1、Java异常体系结构简介
2、try-catch 以及try-catch-finally
4、抛出异常
5、自定义异常
6、异常链
1、Java异常体系结构简介
java中的所有异常都继承与Throwable。他有两个子类Error 和 Exception(编码、环境、输入)
- Exception有两类
Runtime Exception (运行时异常)
运行时异常有JVM自动抛出,并自动捕获,运行时异常的出现说明代码本身有问题,应该从逻辑上去改进代码。
- 检查异常
2、try-catch 以及try-catch-finally
- 基本语法
try{
//一些会抛出异常的方法
}catch(Exception e){
e.printStackTrace();
//处理该异常的代码块
}
当try块中抛出很多不同类型的异常,同一个catch块只能处理某一种异常,这时候就需要多重catch,如下:
try{
//一些会抛出异常的方法
}catch(Exception e){
//处理Exception异常的代码块
}catch(Exception2 e){
//处理Exception2 异常的代码块
}
- catch语句块的注意事项:
顺序问题,要按照先小后大(异常处理程序会就近原则选择异常处理catch块
- finally善后工作
try{
//一些会抛出异常的方法
}catch(Exception e){
//处理Exception异常的代码块
}catch(Exception2 e){
//处理Exception2 异常的代码块
}finally{
//最终将要执行的一些代码
}
- 异常分析
java中的异常抛出
throw
—— 将产生的异常抛出(动作)
throws
—— 声明将要抛出何种类型的异常(声明)
public void 方法名(参数列表) throws 异常列表{
//调用会抛出异常的方法或者:throw new Exception();
}
java中的自定义异常
语法:
修饰符 class 自定义异常类 extends 异常类型{
}
例子:
package com.test.XX;
public class OwnerException extends Exception{
public OwnerException(){
}
public OwnerException(String message){
super(message);
}