- 2
- 0
- 约2.84万字
- 约 73页
- 2019-11-06 发布于广东
- 举报
(2)多异常处理 通过一个try块后面定义若干个catch块来实现,每个catch块用来接收和处理一种特定的异常对象。 注意如下问题: (1)catch块中的语句应根据异常的不同执行不同的操作; (2)处理多异常时应注意设计各catch块的排列顺序,一般处理较具体和常见的异常应放在前,可以与多种异常相匹配的应放在后; 否则可能造成它后面的catch块将永远不被使用。 定义与使用异常示例 //捕捉并处理异常 import java.applet.Applet; import java.awt.*; import java.util.*; public class UserException extends Applet { Employee Emp; Label prompt1=new Label(请输入雇员姓名和工资初值: ); Label prompt2=new Label(欲修改工资: ); TextField name,isal,nsal; String msg; //输出信息! public void init() { name=new TextField(5); isal=new TextField(5); nsal=new TextField(5); add(prompt1); add(name); add(isal); add(prompt2); add(nsal); } public void paint(Graphics g) { g.drawString(msg,60,60); } public void CreateEmp(String en,double es) //创建员工,工资不可太低 { try{ Emp=new Employee(en,es); msg=new String(Emp.toString()); } catch(IllegalSalaryException ise) //调用处理工资过低的异常 { msg=new String(ise.toString()); } } public void ChangeSal(double cs) //修改工资,变动幅度不可太大 { try{ Emp.setEmpSalary(cs); msg=new String(Emp.toString()); } catch(IllegalSalaryException ise) //多异常处理,异常1——调用处理工资过低的异常 { msg=new String(ise.toString()); } catch(IllegalSalaryChangeException cse) //异常2——调用工资变动幅度不合理的异常 { msg=new String(Emp.toString()+cse.toString()); } } public boolean action(Event e,Object o) { String en; double es,cs; if(e.target==isal) { en=new String(name.getText()); es=Double.valueOf(isal.getText()).doubleValue(); CreateEmp(en,es); } else if(e.target==nsal) { if(Emp!=null) { cs=Double.valueOf(nsal.getText()).doubleValue(); ChangeSal(cs); } else msg=new String(请先输入雇员姓名工资并创建之); } repaint(); return true; } } // 定义E
您可能关注的文档
最近下载
- 广东省2021年专升本考试《政治理论》真题及答案.pdf VIP
- 2026年运输公司年后复工安全培训课件.pptx VIP
- 2025年春人教PEP三年级英语下册教案:Unit 6 Numbers in life.docx VIP
- 驾照考试科目一试题.docx VIP
- 设施农业CAD绘图教程.pptx
- 2025年新疆高考理综真题试卷及答案.docx VIP
- 2026在京全国性宗教团体应届高校毕业生招聘16人备考题库及参考答案详解一套.docx VIP
- 2026在京全国性宗教团体应届高校毕业生招聘16人备考题库含答案详解(完整版).docx VIP
- TCL 滚筒洗衣机TG-V80BA使用说明书.pdf
- 云南省中考:2025年-2023年《语文》考试真题与参考答案.pdf
原创力文档

文档评论(0)