[JAVA100例]009、异常的捕获和实现自己的异常类(java100例)

来源:互联网 发布:最美的诗 知乎 编辑:程序博客网 时间:2024/05/21 18:38
[JAVA100例]009、异常的捕获和实现自己的异常类(java100例)

/**
 * <p>Title: 捕获异常和实现自己的异常类</p>
 * <p>Description: 通过继承Exception类来实现自己的异常类。并使用try-catch来捕获这个异常。</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Filename: </p>
 * @version 1.0
 */
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 {
    System.out.println(
      "Throwing MyException from a()");
    throw new MyException();
  }
/**
 *<br>方法说明:使用MyException类中带信息的构造器
 *<br>输入参数:
 *<br>返回类型:
 */
  public static void b() throws MyException {
    System.out.println(
      "Throwing MyException from b()");
    throw new MyException("Originated in b()");
  }
/**
 *<br>方法说明:使用了MyException中有编码的构造器
 *<br>输入参数:
 *<br>返回类型:
 */
  public static void c() throws MyException {
    System.out.println(
      "Throwing MyException from c()");
    throw new MyException(
      "Originated in c()", 47);
  }
  public static void main(String[] args) {
    try {
      a();
    } catch(MyException e) {
      e.getMessage();
    }
    try {
      b();
    } catch(MyException e) {
      e.toString();
    }
    try {
      c();
    } catch(MyException e) {
      e.printStackTrace();
      System.out.println("error code: " + e.val());
    }
  }
} //end :)

原创粉丝点击