异常----异常捕捉try&catch

来源:互联网 发布:城门失火 殃及池鱼知乎 编辑:程序博客网 时间:2024/06/11 18:39
/* 异常处理的捕捉形式: 这是可以对异常进行针对性处理的方式。 具体格式是: try {    //需要被检测异常的代码 } catch(异常类 变量)//该变量用于接收发生的异常对象。 {    //处理异常的代码       没catch没处理 } finally {    //一定会被执行的代码 } */class FuShuIndexException extends Exception{    FuShuIndexException()    {}    FuShuIndexException(String msg)    {        super(msg);    }}class Demo15{    public int method(int[] arr,int index) throws FuShuIndexException//进行声明    {        if(index < 0)            throw new FuShuIndexException("角标变成负数啦");            //报错 未报告的异常,必须对其进行捕捉或声明以便抛出。        return arr[index];    }}public class ExceptionDemo4 {    public static void main(String[] args) {//hrows FuShuIndexException{//进行声明        int[] arr = new int [3];        Demo15 d = new Demo15();        try {            int num = d.method( arr , -1);            System.out.println("num ="+num);        } catch (FuShuIndexException e) {            System.out.println("message:"+e.getMessage());            System.out.println("string:"+e.toString());            e.printStackTrace();//jvm默认的异常处理机制就是调用异常对象的这个方法            //Throwable下的方法还有重载的printStackTrace(指定输出流) 可以用来创建日志文件            //但我们一般不使用,太弱了。 一般使用第三方工具来完成:log4j            System.out.println("负数角标异常");        }        System.out.println("over");    }}