005--深入了解Java中的异常处理+面试题

VIP免费
2024-12-11 5 0 48.78KB 7 页 5.9玖币
侵权投诉
深入了解 Java 中的异常处理 + 面试题
在程序开发中,异常处理也是我们经常使用到的模块,只是平常很少去深究异常模块的一
些知识点。比如,try-catch 处理要遵循的原则是什么,finally 为什么总是能执行,try-
catch 为什么比较消耗程序的执行性能等问题,我们本讲内容都会给出相应的答案,当然
还有面试中经常被问到的异常模块的一些面试题,也是我们本篇要讲解的重点内容。
异常处理基础介绍
先来看看 异常处理的语法格式
try{ … } catch(Excepon e){ … } nally{ … }
其中,
try :是用来监测可能会出现异常的代码段。
catch :是用来捕获 try 代码块中某些代码引发的异常,如果 try 里面没有异常发
生,那么 catch 也一定不会执行。在 Java 语言中,try 后面可以有多个 catch 代码
块,用来捕获不同类型的异常,需要注意的是前面的 catch 捕获异常类型一定不能包
含后面的异常类型,这样的话,编译器会报错。
finally :不论 try-catch 如何执行,finally 一定是最后执行的代码块,所有通常用来
处理一些资源的释放,比如关闭数据库连接、关闭打开的系统资源等。
异常处理的基本使用 ,具体可以参考下面的代码段:
try {
int i = 10 / 0;
} catch (ArithmeticException e) {
System.out.println(e);
} finally {
System.out.println("finally");
}
catch 的使用 ,具体可以参考下面的代码段:
try {
int i = Integer.parseInt(null);
} catch (ArithmeticException ae) {
System.out.println("ArithmeticException");
} catch (NullPointerException ne) {
System.out.println("NullPointerException");
} catch (Exception e) {
System.out.println("Exception");
}
需要注意的是 Java 虚拟机会从上往下匹配错误类型,因此前面的 catch 异常类型不能包含
后面的异常类型。比如上面的代码如果把 Exception 放在最前面编译器就会报错,具体可
以参考下面的图片。
enter image description here
异常处理的发展
随着 Java 语言的发展,JDK 7 的时候引入了一些更加便利的特性,用来更方便的处理异常
信息,如 try-with-resources multiple catch,具体可以参考下面的代码段:
try (FileReader fileReader = new FileReader("");
FileWriter fileWriter = new FileWriter("")) { // try-with-resources
System.out.println("try");
} catch (IOException | NullPointerException e) { // multiple catch
System.out.println(e);
}
异常处理的基本原则
先来看下面这段代码,有没有发现一些问题?
try {
// ...
int i = Integer.parseInt(null);
} catch (Exception e) {
}
“ ”以上的这段代码,看似 正常 ,却违背了异常处理的两个基本原则:
第一,尽量不要捕获通用异常,也就是像 Exception 这样的异常,而是应该捕获特定
异常,这样更有助于你发现问题;
第二,不要忽略异常,像上面的这段代码只是加了 catch,但没有进行如何的错误处
理,信息就已经输出了,这样在程序出现问题的时候,根本找不到问题出现的原因,
因此要切记不要直接忽略异常。
摘要:

深入了解Java中的异常处理+面试题在程序开发中,异常处理也是我们经常使用到的模块,只是平常很少去深究异常模块的一些知识点。比如,try-catch处理要遵循的原则是什么,finally为什么总是能执行,try-catch为什么比较消耗程序的执行性能等问题,我们本讲内容都会给出相应的答案,当然还有面试中经常被问到的异常模块的一些面试题,也是我们本篇要讲解的重点内容。异常处理基础介绍先来看看异常处理的语法格式:try{…}catch(Exceptione){…}finally{…}其中,•try:是用来监测可能会出现异常的代码段。•catch:是用来捕获try代码块中某些代码引发的异常,如果tr...

展开>> 收起<<
005--深入了解Java中的异常处理+面试题.docx

共7页,预览2页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:计算机 价格:5.9玖币 属性:7 页 大小:48.78KB 格式:DOCX 时间:2024-12-11

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 7
客服
关注