打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用Java创建自己的异常子类

  尽管java的内置异常处理大多数常见错误,你也许希望建立你自己的异常类型来处理你所应用的特殊情况。这是非常简单的:只要定义Exception的一个子类就可以了(Exception当然是Throwable的一个子类)。你的子类不需要实际执行什么——它们在类型系统中的存在允许你把它们当成异常使用。
  Exception类自己没有定义任何方法。当然,它继承了Throwable提供的一些方法。因此,所有异常,包括你创建的,都可以获得Throwable定义的方法。这些方法显示在表10-3中。你还可以在你创建的异常类中覆盖一个或多个这样的方法。
  表 10-3 Throwable 定义的方法


  下面的例子声明了Exception的一个新子类,然后该子类当作方法中出错情形的信号。它重载了toString( )方法,这样可以用println( )显示异常的描述。
  // This program creates a custom exception type.
  class MyException extends Exception {
  private int detail;
  MyException(int a) {
  detail = a;
  }
  public String toString() {
  return "MyException[" + detail + "]";
  }
  }
  class ExceptionDemo {
  static void compute(int a) throws MyException {
  System.out.println("Called compute(" + a + ")");
  if(a > 10)
  throw new MyException(a);
  System.out.println("Normal exit");
  }
  public static void main(String args[]) {
  try {
  compute(1);
  compute(20);
  } catch (MyException e) {
  System.out.println("Caught " + e);
  }
  }
  }
  该例题定义了Exception的一个子类MyException。该子类非常简单:它只含有一个构造函数和一个重载的显示异常值的toString( )方法。ExceptionDemo类定义了一个compute( )方法。该方法抛出一个MyException对象。当compute( )的整型参数比10大时该异常被引发。
  main( )方法为MyException设立了一个异常处理程序,然后用一个合法的值和不合法的值调用compute( )来显示执行经过代码的不同路径。下面是结果:
  Called compute(1)
  Normal exit
  Called compute(20)
  Caught MyException[20]

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java异常分类
Java程序员必备:异常的十个关键知识点
Java异常简介及其架构
java异常理解(2)
Java 中的异常和处理详解
有关JAVA异常和错误(ERROR)的处理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服