java异常处理
2015-11-05 10:20
411 查看
java中异常分为两种:
check Exception
uncheck Exception
还分为运行时异常和非运行时异常。运行时异常是无法检查的(check),非运行时异常都需要手动处理,如果不处理编译器都会报错。
处理的方式有两种:
throw
catch
运行时异常,可处理也可以不处理。
throw是抛出一个具体的异常。
throws是放在方法上的抛出的异常。
还可以自定义异常,继承Exception即可。
现在实现一个自定义异常。
测试:
测试主函数:
运行结果:
捕捉到myException异常
程序结束
ds.MyException: 输入信息不能为Null
at ds.Login.(Test.java:92)
at ds.Test3.main(Test.java:9)
finally{}是总要执行的代码块,除非是遇到了System.exit(0)停止jvm的运行。如果try当中有return关键字,仍然会执行finally代码块。
捕捉异常的时候应该将子类异常放在前面捕捉,否则catch捕捉到父类异常就结束了,因为异常只捕捉一次。
check Exception
uncheck Exception
还分为运行时异常和非运行时异常。运行时异常是无法检查的(check),非运行时异常都需要手动处理,如果不处理编译器都会报错。
处理的方式有两种:
throw
catch
运行时异常,可处理也可以不处理。
throw是抛出一个具体的异常。
throws是放在方法上的抛出的异常。
还可以自定义异常,继承Exception即可。
现在实现一个自定义异常。
class MyException extends Exception{ MyException() { // TODO Auto-generated constructor stub super(); } MyException(String message){ super(message); } }
测试:
class Login{ Login(String str) throws MyException{ if(str == null){ throw new MyException("输入信息不能为Null"); } System.out.println(str); } }
测试主函数:
public static void main(String[] args){ try { Login login = new Login(null); } catch (MyException e) { // TODO Auto-generated catch block System.out.println("捕捉到myException异常"); e.printStackTrace(); } finally{ System.out.println("这里是finally代码块"); } }
运行结果:
捕捉到myException异常
程序结束
ds.MyException: 输入信息不能为Null
at ds.Login.(Test.java:92)
at ds.Test3.main(Test.java:9)
finally{}是总要执行的代码块,除非是遇到了System.exit(0)停止jvm的运行。如果try当中有return关键字,仍然会执行finally代码块。
捕捉异常的时候应该将子类异常放在前面捕捉,否则catch捕捉到父类异常就结束了,因为异常只捕捉一次。
相关文章推荐
- myeclipse官方中文网站
- JFrame 的层次结构 及 背景设置说明
- java-Thumbnailator实现缩略图
- spring 模糊查询,查询
- Java中的private、protected、public和default的区别
- Java Socket 客户端与服务器端的简单交互
- 关于DES加密,适用Andriod、iOS与JAVA后台
- android studio提示no jdk specified for module解决方法
- java.lang.UnsatisfiedLinkError
- 基于mvc模式的应用框架之struts2(一)---Struts2的执行流程和原理
- 必须了解的Java 基础题
- 自定义控件无法在Eclipse的Android界面编辑器的可视化模式下显示
- Spring配合接口实现解耦原理
- java 中间 final修饰符
- SpringMVC返回json数据的三种方式
- Scanner类
- 在spring mvc中解析输入为json格式的数据有两种方式
- JAVA正则表达式过滤出中文、字母、数字
- 为什么选择 Java 8 ?
- 35 个 Java 代码性能优化总结