一 异常出现的原因
因为硬件缺失,程序不够严谨,必须的内容缺失导致的程序问题称为异常
类似与人生病
二 异常的分类
Throwable
Error:
证明硬件出现问题,不处理
常见的错误:
OutOfMemoryError:内存溢出异常,可以通过程序优化解决.现在的计算机一般很少见到此异常
Exception:
因为程序语法错误或思考不足导致的
检查时异常:CheckedException
处理方法:修改代码,正确书写语法格式
运行时异常:RuntimeException
处理方法:通过判断等类似方案处理
三 常见的在运行时的异常
NullPointerException:空指针异常
ArrayIndexOutOfBoundsException:数组下标越界异常
ClassCastException:类型转换异常
ArithmeticException:算数异常
四 了解异常
诞生原因:
1,调用的方法声明了异常
2,因为程序思考不足导致的
异常的传递:
在A方法中调用B方法,在B方法调用C方法...X方法
如果x方法出现异常会导致向上传递
JVM对异常的处理方案:
让程序闪退
不要将异常留给JVM解决
五 处理异常
目的:保证程序不会闪退
1.捕获异常,处理异常
格式:
try{
可能出现异常的代码
}catch(异常种类1 变量名){
异常1的处理方案
}catch(异常种类2 变量名){
异常2的处理方案
}....catch(异常种类n 变量名){
异常n的处理方案
}finally{
必须要执行的代码
}
catch:必须有一个
finally:可有可无
catch:多个异常,先子后父(把子类异常名写在父类之前)
2.声明异常
关键字:throws
使用位置:
方法上,形参之后,方法体之前
注意:可以一次声明多个异常
3,抛出异常
关键字:throw
使用位置:
方法中
语法:
throw 异常类对象;
建议:使用throw时,必须配合throws