Java之自定义异常
来源:互联网 发布:依祈怎么淘宝不能买了 编辑:程序博客网 时间:2024/06/04 17:45
这篇博客主要是总结一下Java中自定义异常的相关的知识。
在Java中,已经提供了很多的异常类的定义,但是我们在实际项目中,可能需要使用一些自己的异常类,那么可以通过集成Exception类或已有的异常类的方式完成一个自定义异常类的操作。
所谓的自定义异常就是以异常的方式来告知用户程序逻辑上的一些错误。
受检异常:在编译期检查的异常定义方法时必须声明所有可能会抛出
的exception,在调用这个方法时,必须捕获它的checked exception,不然就得把它的exception传递下去,exception是从java.lang.Exception类衍生出来的。
public class LogicException extends Exception{ public LogicException() { super(); } public LogicException(String errorMessage) { super(errorMessage); }}
使用上述类来测试受检异常
public class Game { //打飞机的次数 public static int count =5; public void play() throws LogicException { Scanner input = new Scanner(System.in); System.out.println("打飞机游戏开始"); while (true) { System.out.println("开始请输入非0数字,退出请输入0"); int yesno=input.nextInt(); if(yesno==0) { System.out.println("退出游戏"); } if(count==0) { throw new LogicException("你的飞机已经打光了"); } System.out.println("你还有"+(--count)+"架飞机"); } } public static void main(String args[]) { Game g = new Game(); try { g.play(); }catch (LogicException lg) { lg.printStackTrace(); } }}
非受检异常:在定义方法时不需要声明会抛出runtime exception;在调用这个方法时不需要捕获这个runtime exceptionruntime exception是从java.lang.RuntimeException或java.lang.Error类衍生出来的。
public class MyException extends RuntimeException{ public MyException() { super(); } public MyException(String Message) { super(Message); }}
public class Test { public static void test() { //运行时异常直接抛出异常,而不用在定义函数的时候声明异常 throw new MyException("运行时异常"); } public static void main(String args[]) { //也不用对异常进行捕获 test(); }}
受检异常用起来可能比较麻烦,有较多的try-catch语句但是更加符合用户的逻辑。
非受检异常可能不那么符合用户的逻辑但是使得代码比较简洁
assert关键字 表示断言
当程序执行到某个固定的位置的时候,程序中的某个变量的取值肯定是预期的结果,那么这种操作可以使用断言完成
断言的操作语法:
assert 表达式;
public class AssertDemo { public static void main(String args[]) { int x = 11; assert x == 10 : "结果不正确"; }}
在含有断言的程序运行的时候需要设置虚拟机的参数。
0 0
- Java异常之自定义异常
- Java异常之自定义异常
- Java异常之自定义异常
- Java之自定义异常
- java学习之自定义异常
- java异常处理之自定义异常类
- java异常处理之自定义异常类
- Java学习之异常:使用自定义异常
- java项目经验总结之自定义异常类
- java自定义异常之非典疑似病例
- Java学习笔记之异常、处理异常、异常抛出、自定义异常、异常链
- java异常处理之自定义异常类(转)
- Java学习之自定义异常和抛出异常
- 异常之_自定义异常
- Java 异常(Exception)&自定义异常
- Java异常处理-----自定义异常
- Java 异常(Exception)&自定义异常
- JAVA-自定义异常/异常覆盖
- Java集合框架汇总
- 如何快速转载CSDN中的博客
- Java面试题集及解答
- css样式
- Android开发--IM聊天项目(三)
- Java之自定义异常
- POJ3122_Pie_二分
- linux修改profile文件出错后所有命令用不了
- 面向对象—轮播图
- Android 中播放内存中视频
- 串口与并口的区别
- OpenGL ES 平台搭建教程(在包含Visual Studio 的Microsoft Windows 上构建)
- Android 事件的分发
- C语言实现各种排序算法