异常
原因:因为硬件缺失,程序不够严谨,必须的内容缺失导致的程序问题成为异常
分类
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
自定义异常
步骤
:
1,创建一个类
2,继承与异常类
3,定义无参构造
,
定义有参构造