java 异常处理
java 异常处理
Throwable中包括Error 和Exception,Exception包括IOException和RuntimeException
抛出异常
1.异常运算条件 ArithmeticException
2.非法索引访问数组 ArrayIndexOutOfBoundsException
3.将一个错误类型的对象存储到数组中 ArrayStoreException
4.向方法传递了一个不合法的参数 IllegalArgumentException
5.程序试图将字符串转换为一种数值类型,但该字符串不能转换为适当格式 NumberFormatException
6.拒绝访问一个类的时候 IllegalAccessException
7.请求的变量不存在 NoSuchFieldException
8.请求的方法不存在 NoSuchMethodException
异常方法
public String getMessage()
返回关于发生的异常的详细信息。这个消息在Throwable类的构造函数中初始化了
public Throwable getCause()
返回一个Throwable对象代表异常原因
public String toString()
使用getMessage()的结果返回类的串级名字
public void printStackTrace()
打印toString()结果和栈层次到System.err,即错误输出流
捕获异常
try
{
//程序代码
}catch(ExceptionName e1)
{
// catch块
}
将以上放在异常可能出现的地方
多重捕获块就是在一个try后面跟多个catch
throw关键字
如果一个方法没有捕获到一个检查性异常,那么该方法必须使用throws关键字来声明,throws关键字放在方法签名的尾部,
也可以使用throw关键字抛出一个异常,无论它是新实例化的还是刚捕获到的
finally关键字
finally关键字用来创建在try 代码块后面执行的代码块
无论是否发生异常,finally 代码块中的代码总会被执行
在finally代码块中,可以运行清理类型等收尾善后性质的语句
finally 代码块出现在catch 代码块最后,语法如下:
try
{//程序代码}
catch(异常类型1 异常的变里名1)
{//程序代码}
catch(异常类型2 异常的变里名2)
{//程序代码}
finally
{//程序代码}
注意事项:
catch 不能独立于try 存在
在try/catch后面添加finally 块并非强制性要求的
try代码后不能既没catch块也没finally 块
try, catch, finally块之间不能添加任何代码

浙公网安备 33010602011771号