Java 基础知识总结:异常处理
来源:互联网 发布:网络散布谣言 案例 编辑:程序博客网 时间:2024/05/21 06:55
异常处理
try-catch以及try-catch-finally
try{
//一些会抛出的异常
}catch(Exceptione){
//处理该异常的代码块
}finally{
//最终要执行的代码
}
终止执行,交由异常处理程序(抛出提醒或记录日志等),异常代码块外代码正常执行。try会抛出很多种类型的异常,多个catch块捕获多钟错误。多重异常处理代码块顺序问题:先子类再父类(顺序不对也会提醒错误),finally语句块处理最终将要执行的代码
异常抛出:
需要用到throw和throws
throw:将产生的异常抛出(动作)
throws:在添加方法的时候添加。声明将要抛出何种类型的异常.
案例:public void divide(int one,int two) throwsException{
if(two == 0){
thrownew Exception("两数相除,除数不能为0!!");
else
System.out.println("两数相除,结果为:"+one/two);
}
}
a.能够处理异常:(运用try-catch块处理)
如:try{
divide(5,0);
}catch(Exception e){
System.out.println(e.getMessage());
}
b.无法处理异常:(将异常抛出)
如:public void compute() throws Exception{
....
divide(5,0);
}
自定义异常:
语法:class 自定义异常类 extends 异常类型{
}
Java异常链:
Java中的异常链:
需要用到异常包装,(方便向上抛出异常)
如:接收一个方法抛出的异常并处理。
try{
test();
}catch(自定义异常类 e){
RuntimeExceptionnewExc = new RuntimeException("异常链测试");
newExc.initCause(e);//异常包装
thrownewExc;//向上抛出异常
}
initCause()的作用可以理解成是保存原始的异常,当你想要知道底层发生了什么异常的时候调用getCause()就能够获得原始异常。其实这就形成一个异常链了,这对于你的代码是很有帮助的
异常学习总结:
1、处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理
2、在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
3、对于不确定的代码,也可以加上try-catch,处理潜在的异常
4、尽量去处理异常,切记只是简单的调用printStackTrace()去打印
5、具体如何处理异常,要根据不同的业务需求和异常类型去决定
6、尽量添加finally语句块去释放占用的资源
- Java 基础知识总结:异常处理
- 黑马程序员 Java基础知识总结-异常处理
- java异常处理基础知识
- java基础知识之异常处理
- Java基础知识总结(四)——异常与异常处理表
- Java异常处理总结
- Java异常处理总结
- Java异常处理总结
- Java异常处理总结
- java 异常处理总结
- Java异常处理总结
- Java异常处理总结
- java异常处理总结
- Java异常处理总结
- Java异常处理总结
- java异常处理总结
- java异常处理总结
- java异常处理总结
- 求1!+2!+.....+10!的和。
- HTML5测试方法及常见问题
- Android--获取当前系统时间
- 【补10月30日】 链表例题
- Android ContentProvider使用
- Java 基础知识总结:异常处理
- Android基础--LoadActivity(载入页面显示)
- 检索模型与搜索排序 学习
- 重装系统之必备技能UEFI和GPT或者MBR安装WIN8.1
- Comparable与Comparator的区别
- https 请求被中止: 未能创建 SSL/TLS 安全通道
- Problem 46 Goldbach's other conjecture (暴力...)
- 数据结构
- Extjs的button居中