黑马程序员————异常(day12)
2013-09-12 21:14
232 查看
-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------
第十二天 异常
1. 异常体系
Throwable 所有异常和错误的父类
toString()
getMessage()
printStackTrace() 最长用,信息量最大,JVM调用的也是这样方法
Error
Exception 所有异常的父类
RuntimeException
其他派系
2. 异常的第一种处理方法
try{
检测的代码
可能出现异常的代码
如果出现以后,以后的代码(try内的)不在运行,跳转到catch去了
}catch(异常类 变量){
处理方法
}
3. 方法内部抛出异常 (第二种异常处理方法,抛出异常)
如果方法内部抛出异常,选择try catch来处理
在方法的声明上,继续抛出 throws 异常类
如果我们调用了抛出异常方法,可以选择try catch处理,也可以继续抛出
但是,到了最终的调用者,不要在抛出了
throw throws
throw 作用在方法内,抛出异常对象,关键字后面跟随的是 new 异常对象
throws 作用在方法的声明生,后面跟随的是异常类
4. 编译时期异常与运行时期异常
编译时期异常,调用了一个抛出异常的方法,没有进行处理,编译失败
运行时期异常,运行时候,出现的异常
RuntimeException 运行时异常
如果方法内部,抛出的是RuntimeException或者是它的子类的异常
方法的声明生,无需在使用throws进行抛出
对于调用者,不需要对异常进行处理
原因是(********):
运行时期异常,在程序运行中,是不允许出现了,如果出现了,java工程师,希望
程序停止运行,并让开发者,修改代码
抛出运行时期异常,不需要声明,也不需要处理,发生了就要停止程序了
ClassCastException
NullPointerException
ArrayIndexOutOfBoundsException
5. 自定义异常
java中目前所有的异常对象,也可能不够我们使用
自定义异常 前提,继承异常类Exception,入伙
凡是异常类,都具备可抛性
如果我们定义的是运行时期异常,继承RuntimeException
需要将异常的信息,传递给自定义异常的父类,用super();
6. finally代码块
配合try catch 处理 来进行使用
finally代码块中的程序,是一定要执行的
finally一般用于关闭资源
面试题 final finally finalize
7. 继承中子类和父类类异常的抛出特点
子类覆盖父类的方法,如果父类方法不抛异常,子类也不能抛出异常
子类覆盖父类的方法,如果父类方法抛出异常,子类可以抛出,也可以不抛出异常
但是,子类抛出的异常,不能"大于"父类抛出的异常
8. 异常练习题
老师上课,用笔记本上
笔记本会出现异常,蓝屏异常,冒烟异常
笔记本有3个状体,正常状态上课
老师调用笔记本的开机功能上课,如果出现异常,该怎么办?
需要几个类 ,2个自定义异常类,一个是蓝屏,一个是冒烟
笔记本类
老师调用笔记本的功能上课
测试运行的
-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------
第十二天 异常
1. 异常体系
Throwable 所有异常和错误的父类
toString()
getMessage()
printStackTrace() 最长用,信息量最大,JVM调用的也是这样方法
Error
Exception 所有异常的父类
RuntimeException
其他派系
2. 异常的第一种处理方法
try{
检测的代码
可能出现异常的代码
如果出现以后,以后的代码(try内的)不在运行,跳转到catch去了
}catch(异常类 变量){
处理方法
}
3. 方法内部抛出异常 (第二种异常处理方法,抛出异常)
如果方法内部抛出异常,选择try catch来处理
在方法的声明上,继续抛出 throws 异常类
如果我们调用了抛出异常方法,可以选择try catch处理,也可以继续抛出
但是,到了最终的调用者,不要在抛出了
throw throws
throw 作用在方法内,抛出异常对象,关键字后面跟随的是 new 异常对象
throws 作用在方法的声明生,后面跟随的是异常类
4. 编译时期异常与运行时期异常
编译时期异常,调用了一个抛出异常的方法,没有进行处理,编译失败
运行时期异常,运行时候,出现的异常
RuntimeException 运行时异常
如果方法内部,抛出的是RuntimeException或者是它的子类的异常
方法的声明生,无需在使用throws进行抛出
对于调用者,不需要对异常进行处理
原因是(********):
运行时期异常,在程序运行中,是不允许出现了,如果出现了,java工程师,希望
程序停止运行,并让开发者,修改代码
抛出运行时期异常,不需要声明,也不需要处理,发生了就要停止程序了
ClassCastException
NullPointerException
ArrayIndexOutOfBoundsException
5. 自定义异常
java中目前所有的异常对象,也可能不够我们使用
自定义异常 前提,继承异常类Exception,入伙
凡是异常类,都具备可抛性
如果我们定义的是运行时期异常,继承RuntimeException
需要将异常的信息,传递给自定义异常的父类,用super();
6. finally代码块
配合try catch 处理 来进行使用
finally代码块中的程序,是一定要执行的
finally一般用于关闭资源
面试题 final finally finalize
7. 继承中子类和父类类异常的抛出特点
子类覆盖父类的方法,如果父类方法不抛异常,子类也不能抛出异常
子类覆盖父类的方法,如果父类方法抛出异常,子类可以抛出,也可以不抛出异常
但是,子类抛出的异常,不能"大于"父类抛出的异常
8. 异常练习题
老师上课,用笔记本上
笔记本会出现异常,蓝屏异常,冒烟异常
笔记本有3个状体,正常状态上课
老师调用笔记本的开机功能上课,如果出现异常,该怎么办?
需要几个类 ,2个自定义异常类,一个是蓝屏,一个是冒烟
笔记本类
老师调用笔记本的功能上课
测试运行的
-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------
相关文章推荐
- 黑马程序员---Java基础---异常、File类和递归
- 黑马程序员——Java中的异常和包
- 黑马程序员——异常
- 黑马程序员———Java异常机制
- 黑马程序员学习(六) 内部类和异常机制
- 黑马程序员————Java基础部分之多态、内部类、异常
- 黑马程序员-异常
- 黑马程序员 异常
- 黑马程序员-java异常
- 黑马程序员——Java基础:异常处理机制
- 黑马程序员_内部类与异常
- 黑马程序员---------Java面向对象——异常总结
- 黑马程序员——Java基础--异常
- 黑马程序员--异常
- 黑马程序员——学习日记3——异常机制
- 黑马程序员—Java编程异常知识总结
- [黑马程序员]——java中的异常Exception
- 黑马程序员——Java要点笔记——异常
- 黑马程序员_异常和包
- 黑马程序员--异常应用