java异常处理的简单练习
时间:2021-02-27 14:33:20|栏目:JAVA代码|点击: 次
异常的练习:
老师用电脑上课。
开始思考上课中出现的问题。
比如问题是
电脑蓝屏。
电脑冒烟。
要对问题进行描述,封装成对象。
可是当冒烟发生后,出现讲课进度无法继续。
出现了讲师的问题:课时计划无法完成。
class Teacher
{
private Computer cmp;
public void shangKe()throws NoPlanException /*声明异常*/
{
cmp=new Computer();
try
{
cmp.run();
}
catch(LanPingException e) /*电脑捕获处理蓝屏的异常*/
{
cmp.recst();
}
catch(MaoYanException e) /*电脑捕获处理电脑冒烟的异常*/
{
throw new NoPlanException("上课无法继续,因为"+e.getMessage()); /*电脑无法处理这个异常,继续把这个异常抛给老师来处理*/
}
System.out.println("老师上课"); /*没有异常,老师就正常上课*/
}
}
class LanPingException extends Exception /*自定义蓝屏异常*/
{
LanPingException(String m)
{
super(m);
}
}
class MaoYanException extends Exception /*自定义电脑冒烟异常*/
{
MaoYanException(String m)
{
super(m);
}
}
class NoPlanException extends Exception /*自定义老师处理异常*/
{
NoPlanException(String m)
{
super(m);
}
}
class Computer
{
private int state=3; /*不同的异常状态选择*/
public void run()throws LanPingException,MaoYanException
{
if(state==2)
{
throw new LanPingException("电脑蓝屏了"); /*符合条件就抛出异常对象*/
}
if(state==3)
{
throw new MaoYanException("电脑冒烟了");
}
System.out.println("电脑运行");
}
public void recst()
{
System.out.println("电脑重启");
}
}
class ExceptionText
{
public static void main(String args[])
{
Teacher t=new Teacher();
try
{
t.shangKe();
}
catch(NoPlanException e) /*老师捕获处理电脑冒烟异常*/
{
System.out.println(e.toString());
}
}
}
运行结果:
NoPlanException: 上课无法继续,因为电脑冒烟了


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




