原因:
因为硬件缺失,程序不够严谨,必须的内容缺失导致的程序的问题称为异常
分类:
Th rowabl e E r ro r : 证明硬件出现问题 ,不处理
常见的错误 : OutOfMemo ryE r ro r :内存溢出异常 ,可以通过程序优化解决 .现在的计算机一般很少见到此异 常
Excepti on : 因为程序语法错误或思考不足导致的
检查时异常 : CheckedExcepti on 处理方法 :修改代码 ,正确书写语法格式
运行时异常 : Runti meExcepti on 处理方法 :通过判断等类似方案处理
常见的运行时异常:
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
自定义异常:
步骤:
1,创建一个类
2,继承与异常类
3,定义无参构造,定义有参构造