java 异常处理

Throwable类是所有异常类的根。所有的Java异常类都直接或者间接地继承自Throwable。可以通过继承Exception或者Exception的子类来创建自己的异常类。

 

声明异常

在方法头中使用关键字throws,例如

public void mymethod() throws IOException

 

抛出异常

检测错误的程序可以创建一个合适发的异常类型的实例并抛出他。

例如:

 

捕获异常

可以在try-catch块中捕获和处理他

 

 

从异常中获取信息

 

可以利用Throwable类的实例方法获取有关异常的信息

 

public class Test {
    
    public static void main(String [] args) {
        try {
            System.out.println(sum(new int [] {1,2,3,4,5}));
        }catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
//            System.out.println("\n" + e.getMessage());
//            System.out.println("\n" + e.toString());
//            
//        
//            StackTraceElement [] stackTraceElements = e.getStackTrace();
//            for(int i=0; i<stackTraceElements.length; i++) {
//                System.out.print("method " + stackTraceElements[i].getMethodName());// 输出方法名字
//                System.out.print("(" + stackTraceElements[i].getClassName() + ":");//在哪一个类里面
//                System.out.println(stackTraceElements[i].getLineNumber() + ")");  //输出哪一行出错
//            }
        }
    }

    private static int sum(int [] list) {
        int result = 0;
        for(int i=0; i<=list.length; i++) {
            result += list[i];
        }
        return result;
    }
}

 

创建自定义异常类

可以通过继承Exception类来定义一个自定义的异常类

例子

 

posted @ 2018-07-19 22:39  chenzquan  阅读(99)  评论(0编辑  收藏  举报