/** * <p>Title: 捕获异常和实现自己的异常类</p> * <p>Description: 通过继承Exception类来实现自己的异常类并使用try-catch来捕获这个异常</p> * <p>Copyright: Copyright (c) </p> * <p>Filename: </p> * @version */ class MyException extends Exception { public MyException() {} public MyException(String msg) { super(msg); } public MyException(String msg int x) { super(msg); i = x; } public int val() { return i; } private int i; } public class DemoException { /** *<br>方法说明使用MyException类中默认的构造器 *<br>输入参数 *<br>返回类型 */ public static void a() throws MyException { Systemoutprintln( Throwing MyException from a()); throw new MyException(); } /** *<br>方法说明使用MyException类中带信息的构造器 *<br>输入参数 *<br>返回类型 */ public static void b() throws MyException { Systemoutprintln( Throwing MyException from b()); throw new MyException(Originated in b()); } /** *<br>方法说明使用了MyException中有编码的构造器 *<br>输入参数 *<br>返回类型 */ public static void c() throws MyException { Systemoutprintln( Throwing MyException from c()); throw new MyException( Originated in c() ); } public static void main(String[] args) { try { a(); } catch(MyException e) { egetMessage(); } try { b(); } catch(MyException e) { etoString(); } try { c(); } catch(MyException e) { eprintStackTrace(); Systemoutprintln(error code: + eval()); } } } //end |