异常笔记整理
来源:互联网 发布:耿光刚 大数据 编辑:程序博客网 时间:2024/06/08 07:26
异常的特点:
1. 由JVM或程序员生成的异常对象,并且抛出
2. 逐层寻找异常处理代码,如无,继续向上抛,如有,异常到此结束。
3. 如果异常抛到main()方法还无处理代码,程序到此结束,被异常中断
4. 异常会中断本层的代码
Runtime Exception 运行时异常/非检测异常
其它异常 检测异常(编译时检测)
大多数异常是可避免的
Java的异常处理:try/catch/ finally 捕获
throws 抛出
try {
可能发生异常的代码
}catch (XX Exception e){0-n次
异常处理代码
}finally {
一定要执行的代码 1-0次
}
异常的处理情况:
1. 不发生异常 try – finally
2. 发生异常 (try语句必须中断)
否则 try→finally→结束
注意在异常的catch语句中e.printStackTrace必须存在,否则会出现隐藏问题(运行时产生异常),导致程序无法运行,而不知道产生的具体位置。
异常无法返回
不同的异常采用不同的处理方式,可以使用多个catch子句
多个catch子句时,由上而下依次catch(先小后大)
try catch有if/else效果
一个方法的结束有3种情况:
1. 方法执行完毕
2. 遇到return语句
3. 有未处理的异常抛出
finally 语句在异常处理过程中必须被执行,执行带真正的return之前要先执行finally
如果在方法或者构造中不捕获异常。可以使用throws将异常上交调用者处理,它只能帮助通过编译,并不能处理异常
异常如果可以确定处理则用try→catch,如果不能确定处理则用throws
方法和构造都可以用throws
throws的位置在方法大括号之前
throws 对RuntimeException无意义,一般是跟检测异常
throw抛出异常(由程序员抛出)对象是一个语句,必须抛出异常
throws抛出异常类由虚拟机抛出
当程序到throw时方法必须结束,其后不跟语句。
方法重写时,名字,返回值,参数必须相同,子类抛出异常不能比父类更大的异常
泛型在小括号中不能用catch()必须在catch(Exception e)
自定义异常步骤:
1. extends Exception或者Exception子类
2. 提供无参,String作参数的两个构造
属性无重写,无覆盖,子类与父类同名的属性在两个内存里。
- 异常笔记整理
- JAVA Expection 异常 笔记整理
- hadoop环境异常整理【工作笔记】
- 笔记整理(java基础六-----异常)
- 日常工作中遇到的异常整理笔记
- 异常整理
- 异常整理
- 黑马程序员---------笔记整理(java基础六-----异常)
- Thinking in Java 整理笔记:通过异常处理错误
- JAVA学习笔记整理四(异常处理)
- JAVA常见异常整理
- struts常见异常整理
- JAVA异常知识整理
- ssh异常整理
- JAVA常见异常整理
- J2ME 常见异常整理
- jbmp 异常整理
- json-lib异常整理
- java 基础& linux
- corejava09
- 项目中
- 集合框架
- 困惑,关于JAVA,我到底该怎么办?
- 异常笔记整理
- java实现链表的例子!!
- 闲来无事
- 泛型
- Javascript 的eval()語法
- 动态规划初步
- 动态规划数学描述
- (一)、动态规划的基本思想
- JAVA高手帮我看看这道题呗!