Java知识碎片整理(2)——异常处理

2016/10/6

异常是一个程序执行期间发生的事件,它中断了正在执行的程序的正常指令流。

在Java中,异常被封装到了一个类中,当程序出现错误时,会创建一个异常对象并把它传递给正在运行的系统,从而触发异常处理机制。这样可以将程序主逻辑和异常处理代码分离开。

异常捕捉机制

Java异常捕捉结构:try,catch,finally

try{
    //可能发生异常的主逻辑代码
}
catch(Exceptiontype1 e){
    //发生Exceptiontype1的处理
}
catch(Exceptiontype2 e){
    //发生Exceptiontype2的处理
}
finally{
    //无论try块代码如何退出都会执行的程序块
}

catch块常用方法:

e.getMessage();
e.toString();
e.printStackTrace();

常见异常:

ClassCastException:类型转换异常
ClassNotFoundException:未找到相应类异常
ArithmeticException:算术异常
ArrayIndexOutOfBoundsException:数组下标越界异常
ArrayStoreException:数组中包含不兼容的值抛出的异常
SQLException:操作数据库异常
NullPointerException:空指针异常
NoSuchFieldException: 字段未找到异常
NoSuchModelException: 方法未找到异常
NumberFormatException:字符串转化为数字抛出的异常
NegativeArraySizeException: 数组元素为负数异常
StringIndexOutOfBoundsException:字符串索引超出范围抛出异常
IOException: 输入输出异常
IllegalAccessException:不允许访问某类异常
InstantiationException:newInstance()方法是实例化失败异常
EOFException:文件已结束异常
FileNotFoundException:文件未找到异常

自定义异常

public class MyException extends Exception{
    public MyException(String ErrorMessage){
        super(ErrorMessage);
    }
}

抛出异常

throws——throw

throws关键字通常用于声明方法时,用来指定可能抛出的异常,多个异常可用逗号分隔。throw关键字通常用于方法体中,抛出一个异常对象。

例子:

public class Shoot{
    static void divide(int x,int y) throws ArithmeticException{
        if(y==0) throw new ArithmeticException;
        return x/y;
    }
    public static void main(String[] args){
        try{
            divide(3,0);
        }catch(ArithmeticException e){
            System.out.println("除数不能为0");
        }
    }
}

2017/2/3批注:
非常基础的知识,get

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值