Throwable类是全部异常类的根。全部的Java异常类都直接或者间接地继承自Throwable。能够经过继承Exception或者Exception的子类来建立本身的异常类。spa
声明异常3d
在方法头中使用关键字throws,例如code
public void mymethod() throws IOExceptionblog
抛出异常继承
检测错误的程序能够建立一个合适发的异常类型的实例并抛出他。get
例如:io
捕获异常class
能够在try-catch块中捕获和处理他exception
从异常中获取信息程序
能够利用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类来定义一个自定义的异常类
例子