AvA Java例处理(2) 辽宁经济职业技术学院信息系 硕士、副教授陈英 JAVA
Java例外处理(2) 辽宁经济职业技术学院信息系 硕士、副教授 陈英
影定义自已的异常 ○定义自己的异常有两个基本的原因 1)希望当一个标准异常出现时添加信息,并 且可以通过再次抛出你自己的异常来做到 这一点 )你的代码中可以有一些出错条件,以保证 区分出某种特定的类 °但值{注意的是,她出导常会带来大量 的代码代替正常的异常处理代码 JAVA
定义自己的异常 定义自己的异常有两个基本的原因: 1) 希望当一个标准异常出现时添加信息,并 且可以通过再次抛出你自己的异常来做到 这一点。 2) 你的代码中可以有一些出错条件,以保证 区分出某种特定的类。 但值得注意的是,抛出异常会带来大量 的处理负担,因此不应该经常想用自己 的代码代替正常的异常处理代码
定以自己的异常 AvA o用户定义异常是通过扩展 Exception类来创建的。 这种异常类可以包含一个“普通”类所包含的 任何东西。 不是由Java系统监测到的异常(下标越界,被0-除 等)而是由用户自己定义的异常。 须由用户自己抛出 hrow new MyExceptiog终 o用户定义的异常同样要用try- catch捕获, 异常是一个类,用户定义的异常必须继承自 Throwable或 Exception类,建议用 Exception类。 o 15: class MyException extends Exception …}; JAVA
用户定义异常是通过扩展Exception类来创建的。 这种异常类可以包含一个“普通”类所包含的 任何东西。 不是由Java系统监测到的异常(下标越界,被0-除 等),而是由用户自己定义的异常。 用户定义的异常同样要用try--catch捕获,但必 须由用户自己抛出 throw new MyException。 异常是一个类,用户定义的异常必须继承自 Throwable或Exception类,建议用Exception类。 例:class MyException extends Exception {….}; 定义自己的异常
影定义一个异常类 自定义的异常类必须以 THrowable作为超类, 否则它们将不能定义一个异常。 虽然可以从任何标准异常派生出自已的类, 取 好的策略是从 Exception类派生 ○按上述作法,编译器可以跟踪记录程序中的 这个异常会在何处抛出,并且检查它们要么 被捕获,要么其抛出在一个方法中被声明。 如果使用 Runtime Excption或者其它的一个子 类,则编译器对异常类的 catch块的检查将会 受到抑制。 JAVA
定义一个异常类 自定义的异常类必须以 Throwable作为超类, 否则它们将不能定义一个异常。 虽然可以从任何标准异常派生出自已的类, 但最好的策略是从Exception类派生。 按上述作法,编译器可以跟踪记录程序中的 这个异常会在何处抛出,并且检查它们要么 被捕获,要么其抛出在一个方法中被声明。 如果使用RuntimeExcption或者其它的一个子 类,则编译器对异常类的catch块的检查将会 受到抑制
AvA 定义一个异常类 public class DreadfuiProblem Exception extends Exception i public DreadfulProblem Exception(f // Default constructor public DreadfulProblem Exception(String s)t super(s); // Call the base class constructor 自定义异常应该包括一个默认构造器和一个接受一个 String对象作为参数的构造器。存储在超类 Exception中的 消息将自动使用自定义的类名被初始化。 传递给第二个构造器的 String参数将被追加到类名的后面, 以形成存储在异常对象中的消息。 JAVA
定义一个异常类 public class DreadfulProblemException extends Exception { public DreadfulProblemException(){ } // Default constructor public DreadfulProblemException(String s) { super(s); // Call the base class constructor }} 自定义异常应该包括一个默认构造器和一个接受一个 String对象作为参数的构造器。存储在超类Exception中的 消息将自动使用自定义的类名被初始化。 传递给第二个构造器的String参数将被追加到类名的后面, 以形成存储在异常对象中的消息