java学习11天-自定义异常&异常转换(实例应用)
来源:互联网 发布:软件规格型号怎么写 编辑:程序博客网 时间:2024/04/28 08:47
想要很好的运用异常光靠系统自带的异常体系是不够的,这时候我们就需要自定义异常,自定义异常是一定要继承异常体系的(Exception编译异常和runtimeException运行时异常),只有这样才能被throw和throws关键字操作。一起来看案例里吧。
源代码如下,需要的收藏吧:
//异常转换实际应用
class NoPlanException extends Exception
{
NoPlanException(String msg)
{
super(msg);
}
}
class LanPingException extends Exception
{
LanPingException(String msg)
{
super(msg);
}
}
class MaoYanException extends Exception
{
MaoYanException(String msg)
{
super(msg);
}
}
class Computer
{
private int state=2;//电脑运行状态标识:0:正常 1:蓝屏 2:冒烟
public void run()throws LanPingException,MaoYanException
{
if (state==1)
{
throw new LanPingException("蓝屏啦。。");
}
if (state==2)
{
throw new MaoYanException("冒烟啦。。");
}
System.out.println("电脑运行中。。");
}
public void reset()
{
state=0;
System.out.println("电脑重启了");
}
}
class Teacher
{
private String name;
private Computer comp;
Teacher(String name)
{
this.name=name;
comp=new Computer();
}
public void prelect()throws NoPlanException
{
try
{
comp.run();
}
catch (LanPingException e)
{
System.out.println(e.toString());
comp.reset();
prelect();
}
catch (MaoYanException e)
{
System.out.println(e.toString());
test();
throw new NoPlanException(name+":没法儿工作了");
}
}
public void test()
{
System.out.println("做练习吧!");
}
public String getName()
{
return name;
}
}
public class Exceptiontest
{
public static void main(String[] args)
{
Teacher t=new Teacher("滑稽老师");
try
{
t.prelect();
System.out.println(t.getName()+"正在讲课中。。");
}
catch (NoPlanException e)
{
System.out.println(e.toString());
System.out.println("换人吧。");
}
}
}
运行结果(运行状态依次为:0、1、2):
喜欢我的记得订阅哦,持续更新ing。。。
欢迎一起讨论java知识。
- java学习11天-自定义异常&异常转换(实例应用)
- java异常解析以及自定义异常实例
- Java学习之异常:使用自定义异常
- java学习之自定义异常
- Java学习·自定义异常
- Java基础09天 学习笔记_面向对象(内部类,异常,RuntimeException, 自定义异常)
- Java学习第10天(4):异常机制-自定义异常
- Java学习笔记之异常、处理异常、异常抛出、自定义异常、异常链
- 异常----应用与异常转换
- 自定义异常实例
- 自定义异常简单实例
- 【JAVA应用】自定义Exception异常类
- Java自定义异常在项目中的应用
- 异常的应用实例
- Java 异常(Exception)&自定义异常
- Java异常处理-----自定义异常
- Java 异常(Exception)&自定义异常
- JAVA-自定义异常/异常覆盖
- BH大逃亡
- 敏感词过滤及字符串编码问题
- IDEA 使用(一)
- 数据结构实验之排序二:交换排序
- DB2错误代码大全
- java学习11天-自定义异常&异常转换(实例应用)
- 强连通分量
- 堆排序(2)
- Android:OpenGL笔记
- MySql、SqlServer、Oracle数据库行转列大全
- 日记: CreateProcess D7 to XE , Access Violation kernel32.dll
- 单元测试之JUnit4
- Google官方关于Android架构中MVP模式的示例
- 程序员常用的自助建站资源汇总!