-
异常发生的原因
- 用户输入了非法数据。
- 要打开的文件不存在。
- 网络通信时连接中断,或者JVM内存溢出
-
Throwable
- Error
-
Exception
- 所有的异常类是从 java.lang.Exception 类继承的子类
- Exception 类是 Throwable 类的子类
- 比如:IOException,RuntimeException
-
捕获异常
-
try/catch
- try{
// 程序代码
}catch(异常类型1 异常的变量名1){
// 程序代码
}catch(异常类型2 异常的变量名2){
// 程序代码
}catch(异常类型2 异常的变量名2){
// 程序代码
}
-
throws/throw
- 如果一个方法没有捕获一个检查性异常,那么该方法必须使用 throws 关键字来声明
- throws 关键字放在方法签名的尾部
- 也可以使用 throw 关键字抛出一个异常
- 一个方法可以声明抛出多个异常,多个异常之间用逗号隔开
-
finally
- finally 关键字用来创建在 try 代码块后面执行的代码块。
- 无论是否发生异常,finally 代码块中的代码总会被执行。
- 在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。
- finally 代码块出现在 catch 代码块最后
- try{
// 程序代码
}catch(异常类型1 异常的变量名1){
// 程序代码
}catch(异常类型2 异常的变量名2){
// 程序代码
}finally{
// 程序代码
}
-
Throwable
-
public String getMessage()
- 返回关于发生的异常的详细信息
-
public void printStackTrace()
- 打印toString()结果和栈层次到System.err,即错误输出流