java分享第三天(异常)
2024-09-21 23:15:43
异常的处理办法之一
捕获异常(try,catch,finally)
1 try语句指定了一段代码,该段代码就是一次捕获并处理的范围。在执行过程中,当任意一条语句产生异常时,就会跳过该段中后面的代码。代码中可能会产生并抛出一种或几种类型
的异常对象,它后面的catch语句要分别对这些异常做相应的处理
注:当异常处理的代码执行结束后,是不会回到try语句去执行尚未执行的代码。
2 finally语句无论是否发生异常都会执行:通过 在finally中关闭程序块已打开的资源,比如:文件流,释放数据库连接等
3 catch语句
每个try语句块可以伴随一个或多个catch语句,用于处理可能产生的不同类型的异常对象。
常用方法:
toString()方法,显示异常的类名和产生异常的原因
getMessage()方法,只显示产生异常的原因,但不显示类名
printStackTrace()方法,用来跟踪异常事件发生时堆栈的内容
这些方法均继承自Throwable类
catch捕获异常时的捕获顺序:如果异常类之间有继承关系,在顺序安排上需注意,越是顶层的类,越放在下面,再不然就直接把多余的catch省略掉(需要把子类
FileNotFoundException
放前面 ,父类
IoException
放后面)
try{
FileReader reader= new FileReader("d:/a.txt");
char c= (char)reader.read();
}catch(FileNotFoundException e){
e.pintStacktrace();
}catch(IoException e){
e.pintStacktrace();
}
如果运行程序时遇到异常,会先执行finally语句块,然后才返回try中的return,如果finally中有return,刚返回return中的值
最新文章
- 拖拽手势和清扫手势冲突时(UIPanGestureRecognizer和UISwipeGestureRecognizer冲突时)
- ACM提交结果简介
- 一步一步开发Game服务器(二)登陆2
- js 实现类似php函数number_format的功能
- 移动端图片滚动加载-lazyload实现的要点总结
- visual studio 2012 插件
- Python socket编程之七:多窗口的应用
- [SVN(ubuntu)] ubuntu使用svn
- [转载] Linux进程关系
- [原博客] HEOI2014 行记
- java web简易网上书店项目系列,使用MVC模式(servlet+jstl+dbutils),开篇
- RGB,CMYK,HSB各种颜色表示的转换 C#语言
- [转]Axis2创建WebService实例
- 72. Edit Distance(困难,确实挺难的,但很经典,双序列DP问题)
- Jquery样式
- web基础要点记录
- 一年过去了,25万月薪的AI工程师还存在吗?
- 函数式编程(1)-高阶变成(3)-sorted
- 【BZOJ 3238】 3238: [Ahoi2013]差异(SAM)
- [翻译]如何在HTML5中有效使用ARIA