尽管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]

java在己有的类创子类怎么创_使用Java创建自己的异常子类...相关推荐

  1. java在己有的类创子类怎么创_如何使用Java创建自己的异常子类

    Java不知道学了多少课时了,你知道如何使用Java创建自己的异常子类吗,Java的内置异常处理有哪些常见的错误呢,今天IT培训网小编就来给大家详细介绍下吧: 尽管Java的内置异常处理大多数常见错误 ...

  2. java语言与www技术形成性考核册_电大Java语言与WWW技术形成性考核填空题

    2017电大最新题库 电大Java语言与WWW技术形成性考核填空题 1.Java具有的特点简单.面向对象.与平台无关.解释型.多线程.安全.动态的语言. 2.开发与运行Java程序需要经过的三个主要步 ...

  3. java 子类继承父类_关于Java 的继承问题,子类会继承父类的哪些东西?-----转载...

    和C++类似,可以继承基类的公共属性和方法. 在Java继承里,父类的属性还有方法在声明时,如果是public关键字即公共属性,则在子类继承时,这些属性和方法都会被子类继承.受保护的也可以继承 但是私 ...

  4. 开课吧课堂之如何创建自己的异常子类

    尽管Java的内置异常处理大多数常见错误,你也许希望建立你自己的异常类型来处理你所应用的特殊情况.这是非常简单的:只要定义Exception的一个子类就可以了(Exception当然是Throwabl ...

  5. java中把路径定义到src下的_设置java路径路径

    JDK环境变量配置 java设置classpath,path,java_home环境变量 Windows7安装JDK的环境变量设置Windows7 X64安装"jdk-6u26-window ...

  6. java在己有的类创子类怎么创_使用Java创建自己的异常子类

    尽管Java的内置异常处理大多数常见错误,你也许希望建立你自己的异常类型来处理你所应用的特殊情况.这是非常简单的:只要定义Exception的一个子类就可以了(Exception当然是Throwabl ...

  7. java 保护类型_Java 类的受保护访问(学习 Java 编程语言 046)

    最好将类中的字段标记为 private,而方法标记为 public.任何声明为 private 的内容对其他类都是不可见的.这对子类来说也完全适用,即子类也不能访问超类的私有字段. Java 中的受保 ...

  8. java类的定义的实例_《Java基础知识》Java类的定义及其实例化

    类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public classDog { String name;intage;void ...

  9. JAVA有没有比robot更好用的_使用Java/Python提高工作效率01-Java Robot类

    用Java实现可重复性的鼠标键盘事件--Robot类的使用 Robot类的定义: 构建 Robot() // 在初始屏幕的坐标系上构建一个Robot类 Constructs a Robot objec ...

最新文章

  1. 【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入具体的操作细节 | 创建 事件监听器 对应的 动态代理 | 动态代理的数据准备 | 创建调用处理程序 | 创建动态代理实例对象 )
  2. 前端学PHP之文件操作
  3. Android Camera 系统架构源码分析
  4. RuntimeError: Given groups=1, weight of size [1, 1, 3, 3], expected input[1, 3, 1402, 1200] to have
  5. 图论--树的直径--DFS+树形DP模板
  6. php7 nts,php7.0.24-nts配置步骤
  7. oracle 10.2.0.1 升级 10.2.0.5,Oracle10.2.0.1RAC 升级 Oracle10.2.0.5案例分享 -DATABASE篇
  8. 微信公众号-回复消息触发时间绑定EventKEY
  9. SosoApi使用说明-基本操作文档
  10. linux像win7,如何使Ubuntu看起来像Windows 7
  11. 鳥哥的 Linux 私房菜 -- 例行性工作排程的建立 cron,郁闷一下午
  12. 密码学基础知识(一)
  13. 个人免签码支付源码+监控APP【野马资源网】
  14. 基于ARM的RealView MDK开发环境
  15. 宝塔数据库密码错误处理
  16. Android蓝牙简介
  17. 使用visual studio 2019 创建简单的MFC窗口「使用C++」
  18. 云上办公兴起,华为云桌面Workspace更靠谱
  19. 水岩机器人_水岩科技完成数千万A轮融资,仓储物流机器人前景看好 | 融资首发...
  20. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java安徽省旅游信息网站ds6p5

热门文章

  1. BacNet开发入门2
  2. Android—APK、JVM-Dalvik-ART
  3. php 实现百度坐标转换,PHP中腾讯与百度进行坐标转换
  4. python整数类型提供了4种进制表示_关于整数类型的 4 种进制表示,哪个选项的描述是正确的?_学小易找答案...
  5. 关于vue项目中添加less,less-loader不能运行的问题
  6. int android.support.v7.widget.RecyclerView$ViewHolder.mItemViewType' on a null.....
  7. mysql的innodb如何定位锁问题_mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?...
  8. c语言字符串截取_笔记 | 自学Python 05:数据类型之字符串
  9. osg渲染到纹理技术(一)
  10. 关于ViewPager使用出现的图片覆盖错误问题