java_基础_异常
来源:互联网 发布:ipad程序加密软件 编辑:程序博客网 时间:2024/05/21 02:21
一、异常概述
1、当出现程序无法控制的外部环境问题(用户提供的文件不存在,文件内容损坏,网络不可用。。。)时,JAVA就会用异常对象来描述。
2、异常的种类:
①检查性异常
程序正确,但因为外在的环境条件不满足引发,例如打开不存在的文件等
②运行期异常
程序存在BUG,例如数组越界,0被除等等,java编译器要求强制处理这类异常
③错误(跟运行环境有关)
可能源于程序的bug,更可能源于环境问题,如内存不够等
注:无论是哪种异常,都是java.lang.Throwable的子类
3、两种处理方法:
①在发生异常的地方直接处理
②将异常抛给调用者,让调用者处理
二、异常的处理(try..catch)
1、使用方法
try { //检查异常,如果存在异常执行catch语句 FileReader fr=new FileReader("d:\\aa.txt"); } catch (Exception e) { //输出异常类型,有利于排bug e.printStackTrace(); //或使用 e.getMessage }
2、如果有多个catch语句则进入匹配的catch中执行
3、finally一般放在catch最后,即使前面的try块发生异常,而又没有对应的catch块,finally块将会马上执行
4、finally不会执行的情形:
①finally中发生了异常
②程序所在的线程死亡
③finally前面使用了System.exit();
④关闭CPU
5、不管是否存在异常finally最后都会执行,一般用来关闭之前打开的资源。
三、异常的处理(throw)
1、代码
class AA{ BB bb=new BB(); public void bbb() { //此时AA类调用了BB类,就要处理他的异常,可以用try..catch,或继续抛出,最后交给JAVA虚拟机处理(不推荐) try { bb.Open(); } catch (Exception e) { e.printStackTrace(); } }}class BB{ //通过throws语句,可以将异常抛给调用者处理,即上面的AA类 public void Open() throws Exception { FileReader fr=new FileReader("d:\\aa.txt"); }}
0 0
- java_基础_异常
- java_基础_包
- java_基础_杂
- java_基础_集合
- java_基础_泛型
- java_基础_线程
- java_基础_类入门
- java_基础_类详解
- java_基础_绘图技术
- Java_基础_交换变量
- Java_基础_初始化顺序
- Java_基础_参数传递
- Java_基础—异常练习
- Java_基础学习_上海交大课程
- Java_语法基础_移位运算符
- Java_语法基础_标识符定义规则
- Java_语法基础_“$”惹的祸
- Java_基础_继承的成员变量
- html 转 excel 换行符问题
- uva1636 决斗
- php + Redis 写的类似于新浪微博的feed系统
- LeetCode---Two Sum
- TCP/IP收发缓存_MSS/MTU算法机制_状态图_连接建立和断开之上的socket函数需要注意的问题
- java_基础_异常
- UVa 1641 - ASCII Area
- Android——AES加密解密
- CodeForces 264C Choosing Balls dp(水
- alt+/没有显示提示信息
- 统计代码注释行的一些问题
- UVA699 - The Falling Leaves
- 行为型设计模式
- 7种android中数据存储方式