java异常
1.Error:java 虚拟机无法解决的问题(资源耗尽、java虚拟机内部出现错误)
2.Exception:一般性问题,可以使用针对性代码处理(编译时异常和运行时异常 RuntimeException)
异常会终止程序的执行!~~
都继承自Throwable
处理异常的方式(抓抛模型):
"抛" --- 当我们执行代码时,一旦出现异常,就会在相应代码处生成一个对应的异常对象,并将此对象抛出!~~(抛出异常之后,出现异常的地方后面的代码就不再执行了,即程序终止了),此异常类的对象抛给该方法的调用者!~~分为自动抛出和手动抛出!~~
"抓" --- 抓住上一步抛出来的对象,如何抓?即为异常处理的方式
java提供了两种方式来处理一个异常!~~
处理方式一:try{
可能出现异常的代码
、、、 但是这里出现异常后面的代码就不执行了
}catch(Exception e){
处理方式一
}...(可以有多个catch(Exception){ 处理方式n })
finally{
一定要执行的代码
}
System.out.println("Hello!"); 这个可以执行
如果异常处理了,那么他后面的代码时可以执行的!~~
catch 中异常的类型是一个包含关系,范围大的写在下面!~~
finally 可以有可以没有,如果你有一定要执行的代码,那么你就可以用它来保证它的执行。
"流" 这个东西jvm不会自动将其关闭,我们需要手动去关闭它!~所以它的关闭一般放在finally中
空指针异常
类型转换异常
数组下标越界异常
文件未找到异常
1.Error:java 虚拟机无法解决的问题(资源耗尽、java虚拟机内部出现错误)
2.Exception:一般性问题,可以使用针对性代码处理(编译时异常和运行时异常 RuntimeException)
异常会终止程序的执行!~~
都继承自Throwable
处理异常的方式(抓抛模型):
"抛" --- 当我们执行代码时,一旦出现异常,就会在相应代码处生成一个对应的异常对象,并将此对象抛出!~~(抛出异常之后,出现异常的地方后面的代码就不再执行了,即程序终止了),此异常类的对象抛给该方法的调用者!~~分为自动抛出和手动抛出!~~
"抓" --- 抓住上一步抛出来的对象,如何抓?即为异常处理的方式
java提供了两种方式来处理一个异常!~~
处理方式一:try{
可能出现异常的代码
、、、 但是这里出现异常后面的代码就不执行了
}catch(Exception e){
处理方式一
}...(可以有多个catch(Exception){ 处理方式n })
finally{
一定要执行的代码
}
System.out.println("Hello!"); 这个可以执行
如果异常处理了,那么他后面的代码时可以执行的!~~
catch 中异常的类型是一个包含关系,范围大的写在下面!~~
finally 可以有可以没有,如果你有一定要执行的代码,那么你就可以用它来保证它的执行。
"流" 这个东西jvm不会自动将其关闭,我们需要手动去关闭它!~所以它的关闭一般放在finally中
空指针异常
类型转换异常
数组下标越界异常
文件未找到异常