首页 > 编程语言 > 详细

8.0 java异常

时间:2021-09-13 18:14:20      阅读:35      评论:0      收藏:0      [点我收藏+]

finally块 (不是必须要加的)

1.finally块只能定义在异常处理机制的最后,可以直接跟在try后面或者最后一个catch之后。
2.fianlly可以保证只要程序运行到try当中,那么无论try当中的代码片段是否出现异常,finally块里面的代码都必然执行
3.通常把释放资源等操作放在fianlly中,比如流的关闭
 
throws声明方法抛出
当我们调用一个含有throws声明异常抛出的方法时,编译器要求我们必须处理这个异常,处理方式有两种:
1:try—catch自行捕获异常并处理
2:在当前方法上继续使用throws声明将该异常抛出
注:永远不要在main方法throws,意味要将异常抛给jvm处理,jvm的处理结果就是直接死机,就是立即结束程序的执行
 
throw 异常抛出
抛出: 一个方法内部使用throw抛出一个异常,就要在方法上使用throws声明该异常的抛出以告知调用者处理这个异常 (RuntimeException例外)
throw new IllegalAgeException("年龄不合法");
 
自定义异常:
用super继承Exception中相同参数的方法,方法名自定义 ,通常用于描述业务逻辑功能错误 ,Exception类继承自Throwable,Exception里面全是构造方法Exception()及其重载!
public class IllegalAgeException extends Exception{
 
private static final long serialVersionUID = 1L; //因为继承了Serialixable序列化接口
 
public IllegalAgeException() {
super();
// TODO Auto-generated constructor stub
}
 
public IllegalAgeException(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
}
 
public IllegalAgeException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
 
 
}
 
jdk1.8后try(){}自动关闭:
java中try(){}与try{}finally{}
try(){}块退出时,会自动调用()中io对象的close()方法,关闭资源。
注:自动关闭语法是编译器认可,编译后的.class文件中流的关闭还是在finally中进行的
 
eclipse捕捉异常 初始化类对象 surround with try/catch Block
//1.调用类中的方法:
try {
DZTestClientclient =newDZTestClient();
client.sendMsg();
} catch (Exception e) {
System.out.println("Error" + e); // 出错,则打印出错信息
}
 
//2.在if else 语句及catch中常用的人工抛出异常:
 
 
throw new Exception("不支持的数据类型【"+a.toString()+"】,请检查!");
try {
...
} catch (Exception ex) {
ex.printStackTrace();
throw new Exception("连接数据库失败!连接参数:<br>DataSource:" + dataBase);
}
 
//3.等待多少秒之后在运行 线程方法sleep
 
 
Thread.sleep(Long.parseLong("30000"));
 
 
 

8.0 java异常

原文:https://www.cnblogs.com/zl-programmer/p/15257927.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!