package prac_1; /** * <p>Title: 捕获异常和实现自己的异常类</p> * <p>Description: 通过继承Exception类来实现自己的异常类。并使用try-catch来捕获这个异常。</p> * <p>Copyright: Copyright (c) 2014</p> * <p>Filename: </p> * @author 王海涛 * @version 0.1 */ 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 ExceptionDemo { /** *<br>方法说明:使用MyException类中默认的构造器 */ public static void a() throws MyException { System.out.println( "Throwing MyException from a()"); throw new MyException();//抛出异常,结束方法 } /** *<br>方法说明:使用MyException类中带信息的构造器 */ public static void b() throws MyException { System.out.println( "Throwing MyException from b()"); throw new MyException("error in b ()"); } /** *<br>方法说明:使用了MyException中有编码的构造器 */ public static void c() throws MyException { System.out.println( "Throwing MyException from c()"); throw new MyException( "error in c()", 404); } public static void main(String[] args) { try { a(); } catch(MyException e) { System.out.println( "Error="+e.getMessage()); } try { b(); } catch(MyException e) { System.out.println( "Error="+e.getMessage()); //e.toString(); } try { c(); } catch(MyException e) { System.out.println( "Error="+e.getMessage()); e.printStackTrace(); System.out.println("error code: " + e.val()); } } } //end :)
时间: 2024-10-09 23:41:40