* 自定义异常类 简单的自定义异常类: public class MissingValueException extends Exception { //Constructor public MissingValueException(String message) { super(message); } } Exception类包含了public Exception(String message)方法; Exception类包含了String getMessage()方法,用于将这个传入的message信息显示出来; 因此自定义的异常类可以调用super(message);方法初始化父类,并且此自定义类也自动继承了getMessage()方法,用于显示异常信息串。 * 程序举例 public class MissingValueException extends Exception { private Student student; public MissingValueException(Student s, String message) { super(message); student = s; } public Student getStudent() { return student; } } 定义异常类,此类存储在 MissingValueException.java文件中。 * 程序举例 public class Student { private String name; private String ssn; public String getSsn() { ... } public void setSsn() { ... } public String getName() { ... } public void setName(String n) throws MissingValueException { if (n.equals()) { throw new MissingValueException(this, A students name cannot be blank); } else { name = n; } } // etc. } 使异常类在Student类中运作。 * 程序举例 public class Example { public static void main(String[] args) { String name = read value from GUI; Student s = new Student(); s.setName(name); // etc. 在试图调用setName方法的那行代码上将产生编译错误: Unreported exception MissingValueException; must be caught or declared to be thrown s.setName(name); 因为在Student类的setName方法声明中包含了throws MissingValueException子句,java编译器强制客户代码捕获这个类型的异常。 伪代码 * 程序举例 public class Example { public static void main(String[] args) { String name = read value from GUI; Student s = new Student(); … try { s.setName(name); } catch (MissingValueException e) { System.out.println(e.getMessage()); System.out.println(ID of affected student: + e.getStudent().getSsn()); } // etc. 输出结果: A students name cannot be blank ID of affected student: 123-45-6789 伪代码 此处假设在调用setName之前已经为ssn属性赋了初值。 补充: 枚举类型 * 枚举类型 将变量的取值约束到一个有限的集合。 例如:只希望学位的取值为: Mathematics Biology Chemistry Computer Science Physical Education 为保证客户代码不会传入一个不正确的专业值,因此创造一个自定义异常类型InvalidMajorExcetion,代码如下所示: JDK 1.5 特征 * public class Student {
您可能关注的文档
最近下载
- 4人剧本杀古堡奇遇剧本全内容(4人封闭).pdf VIP
- DB65_T 8022-2024 严寒和寒冷地区居住建筑节能设计标准.docx VIP
- 6—1柱脚及网架支座检查记录.doc VIP
- 2025年中国互联网+汽车用品项目创业计划书.docx VIP
- 开发新型有机硅防污涂料及其防腐性能分析.docx VIP
- 医院专科联盟建设经验.pptx VIP
- 广东省广州市海珠区2024-2025学年四年级上册期末考试数学试卷(含答案).docx VIP
- 村镇庙会节庆方案.docx VIP
- 江苏省扬州市2023-2024高二上学期期末物理试卷及答案.pdf VIP
- 蒂森克虏伯电梯 曳引轮钢丝绳安装布置.pptx
原创力文档

文档评论(0)