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

3、Java 异常的捕获及处理

2016-08-15 21:54 267 查看

1. 异常类的继承结构

在整个Java的异常结构中,实际上有两个最常见的类,分别是Excepttion和Error,这两个类全都是Throwable的子类。

Exception:一般表示的是程序中出现的问题,可以直接使用try…catch处理。

Error:一般指的JVM的错误,程序中无法处理。

一般情况下,开发者习惯于将Excepttion和Error统称为异常,而算术异常、数字格式化异常等都属于Exception的子类。

异常处理步骤:

1. 一旦产生异常,则首先会产生一个异常类的实例化对象。

2. 在try语句中对此异常对象进行捕捉。

3. 产生的异常对象与catch语句中的各个异常类型进行匹配,如果匹配成功,则执行catch语句中的代码。

实现如下:

try{
//执行代码
//发生异常,产生异常类的实例化对象
}catch(ArithmeticException e){ //匹配异常类型
//执行异常处理代码
}finally{
//异常的统一出口
}


常见异常:

ArithmeticException(算术异常)

NumberFormatException(数字转换异常)

ArrayIndexOutOfBoundsException(数组越界异常)

Exception(其他异常)

2. throws与throw关键字

throws关键字:

在定义一个方法时可以使用throws关键字声明,使用throws声明的方法表示不处理异常,而交给方法的调用处进行处理。具体如下所示:

class Math{
public int div(int i,int j) throws Exception{
//方法可以不处理异常
int temp=i/j;
return temp;
}
}


throw关键字

与throws关键字不同的是,可以直接使用throw关键字人为地抛出一个异常,抛出时直接抛出异常类的实例化对象即可。

public class ThrowDemo{
public static void main(String args[]){
try{
throw new Exception("自己抛出异常!"); //抛出异常的实例化对象
}catch(Exception e){//捕捉异常
System.out.println(e);
}
}
}


3. Exception类与RuntimeException类

Exception在程序中必须使用try…catch进行处理

RuntimeException可以不使用try…catch进行处理,但是如果有异常产生,则异常将由JVM进行处理。

4. 断言

断言就是肯定某一个结果的返回值是正确的,如果最终此结果的返回值是错误的,则通过断言检测肯定会提示错误信息。

使用如下

assert boolean 表达式;

assert boolean 表达式:详细的信息;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: