package test0915.exception;
import java.io.IOException;
/**
* 概念: 异常是指导致程序中断指令流.也是对象。
* 体系:
* Throwable
/ \
Error Exception
/ \
RuntimeException CheckedException
1)、Error:错误,不需要处理
2)、Exception:
a)、RuntimeException:程序健壮性,隐式对外声明 RuntimeException
b)、CheckedException: 必须处理的异常,检查时|编译时异常,一般来说,程序与外界存在交互
Throwable的方法( 功能 签名(方法名+形参列表:类型 个数 顺序 ) 返回类型 static );
主要有3个方法:
1)、String getMessage()
2)、String toString()
3)、void printStackTrace()
五个关键字:
try catch finally throw thorws
尽可能详细正确
1)、一个try...多个catch
2)、异常之间存在继承关系,先逮小的,后逮大的
Exception:照单全收,摆在最后
3)、finally : 释放资源 断开连接
a)、final finally finalize 区别 -->总结
b)、先于 return 执行,除非虚拟机停止(System.exit()),否则永远都会执行的代码块。
4、throw :方法内部抛出异常,异常对象
5、throws :方法声明处,对外声明异常类型
存在throw ,一定存在 throws ,反之,可以没有throw的throws
方法的重写:
前提: 子类继承父类、方法签名相同
返回类型:
void、 基本类型 == ;
引用类型 <= ;
不能重写的方法: 私有的 private 静态的 static 最终的 final ;
重写异常:
返回类型的范围 <= ;
可见性 >= ; (private除外);
自定义异常:
自定义异常的原因, 一般是 系统异常 和 分层异常 ;
格式,
编写一个类 extends Exception
编写两个构造器, 无参 和 有参 构造器;
程序中方法的退出 3种方式
1 方法正常执行完毕
2 return
3 throw
4 退出虚拟机 System.exit();
* @author Administrator
*/
public class ExceptionTest {
public static void main(String[] args) {
try {
read();
} catch (IOException e) {
// TODO Auto-generated catch block
//e.getMessage();
e.printStackTrace();
}
}
public static void read() throws IOException{
throw new IOException("Io 测试异常 ");
}
}