用Exception类捕获所有异常的技术是怎么用的

用Exception类捕获所有异常 
马克-to-win:注意,一个事实是:Exception类是所有其他异常类的父类,所以Exception类能捕获所有的异常。马克-to-win:问题是用Exception来捕获所有的异常,这个技术有什么好处和缺点?好处就是:不管发生什么异常,都能进入Exception catch块儿,这样,程序都不崩溃。马克-to-win:缺点就是:不能根据特定的异常做特定的处理。马克-to-win:比如,对于以上例子,我们可以用以下的技术,Exception来捕获所有的异常,都可以达到程序不崩溃的目的。马克-to-win:因为Exception是所有其他异常的父类。

马克-to-win:马克 java社区:防盗版实名手机尾号: 73203。


例:1.3.1-本章源码
public class Test {
    public static void main(String[] args) {
        int arg1;
        int result;
        String s="abc";
    //    String s="12";
        try {
            arg1 = Integer.parseInt(s);
            result = arg1 /0;
            System.out.println("try中完成finish");
        }
        catch (Exception e) {
            System.out.println(e);
        }
        System.out.println("马克-to-win:优雅结束");
    }
}

输出结果:
java.lang.NumberFormatException: For input string: "abc"
马克-to-win:优雅结束




例:1.3.2-本章源码
public class Test {
    public static void main(String[] args) {
        int arg1;
        int result;
    //    String s="abc";
        String s="12";
     try {
            arg1 = Integer.parseInt(s);
            result = arg1 /0;
            System.out.println("try中完成finish");
        }
        catch (Exception e) {
            System.out.println(e);
        }
        System.out.println("马克-to-win:优雅结束");
    }
}
输出结果:
java.lang.ArithmeticException: / by zero
马克-to-win:优雅结束

马克-to-win:注意Exception虽然能够捕获所有的异常,使程序不崩溃(“马克-to-win:优雅结束”可以被打印出来)。马克-to-win:但是它不能像上一小节的多重捕获一样,根据特定的异常做特定的处理。马克-to-win:所以我们需要把这两种技术结合在一起。见下例:




例:1.3.3-本章源码
public class Test {
    public static void main(String[] args) {
        int arg1;
        int result;
    //    String s="abc";
        String s="12";
        try {
            arg1 = Integer.parseInt(s);
            result = arg1 /0;
            System.out.println("try中完成finish");
        }
        catch (NumberFormatException e) {
            System.out.println("输入参数必须为整数!");
        }catch(Exception e){
            System.out.println("如有捕获不到的异常,我来! "+e);
        }
        System.out.println("马克-to-win:优雅结束");
    }
}

输出结果:
如有捕获不到的异常,我来! java.lang.ArithmeticException: / by zero
马克-to-win:优雅结束