您的位置:首页 > 编程语言 > Java开发

Java基础总结 - 异常

2017-10-23 07:53 183 查看
Java基础总结 - 异常

这篇文章只是把大学记的笔记整理到博客,方便自己查看,不保证权威性(•̀ᴗ•́)و ̑̑
1.异常体系

java.lang.Object

|----java.lang.Throwable

|-------java.lang.Error:错误,JVM出错,一出错无法避免

|-------java.lang.Exception:异常。需要进行处理

|------RuntimeException:运行时异常

|-----ArrayIndexOutOfBoundsException/NullPointerException/ArithmeticException/ClassCastException

|------非RuntimeException:编译时异常

对于运行时异常比较常见,可以不显式的来处理,因为这种异常可以通过程序员编码来避免
对于编译时异常,必须要显式的处理,因为这种异常不是程序员编码的问题,如外部资源没找到

2.如何处理异常

java中通过 抓抛 的模式来处理异常:

抛:当我们执行代码时,一旦出现异常,就会在异常的代码处生成一个对应的异常类型的对象,并将此对象抛出,这个可以使jvm自动抛出的,也可以是我们使用throw手动抛出的
抓:有两种方式,第一种是我们使用try-catch-finally直接在抛出点处理异常

try{
//可能出现异常的代码
}catch(Exception1 e1){
//处理的方式1
}catch(Exception2 e2){
//处理的方式2
}finally{
//一定要执行的代码 
}
第二种是不显式的处理,而是交给该方法的调用者处理(往上找解决办法,如果到最后main方法都没处理还是会被JVM报出异常)

public void method1()  throws Exception1 e1,Exception2 e2{
//可能出现异常
}
public void method2() throws Exception1 e1,Exception2 e2{
method1();
}
public void method3(){
try{
method2();
}catch(Exception1 e1){
System.out.println(e1.getMessage());
}catch(Exception2 e2){
System.out.println(e2.getMessage());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: