黑马程序员--异常处理(上)
来源:互联网 发布:淘宝客服回复质量问题 编辑:程序博客网 时间:2024/06/04 19:09
-------Android培训、Java培训、期待与您交流! ----------
什么是异常?
异常就是Java程序在运行过程中出现的错误。如程序要打开一个不存的文件、网络连接中断、操作数组越界、装载一个不存在的类等。
Throwable
- Throwable表示Java中可被抛出的对象,它是所有错误和异常的父类
- Throwable有两个子类:Error、Exception
- Error表示错误
- Exception表示异常
- RuntimeException表示运行时异常,是Exception的子类
异常的分类:
Error(错误)
由Java虚拟机生成并抛出,包括动态链接失败、虚拟机错误等,程序对其不进行处理
Exception(异常)
所有异常类的父类,子类定义了各种各样可能出现的异常事件,一般需要用户显式地声明向外抛出或捕获。
Runtime Exception(运行时异常)
一类特殊的异常,如被0除、数组角标越界等。产生比较频繁,处理麻烦,如果每次都处理,会对程序可读性和运行效率影响比较大,因此由系统检测并将它们交给缺省的异常处理程序,用户不必对其进行处理。这类异常不处理,编译时不会报错,只是在运行时出现错误时才报告异常,所以我们称之为运行时异常,所有RuntimeException的子类都是运行时异常。我们也可以对运行时异常进行处理。
编译时异常
Exception中除了RuntimeException的子类,其他异常都是必须要处理的,如果不处理,编译时会报错,这些异常我们称之为编译时异常。
异常的用法:
抛出异常
序运行过程中可以使用throw关键字抛出一个Throwable的子类对象,通知调用者
处理异常
序中可以在方法后面使用throws关键字声明向外抛出异常
编译时异常,通常我们需要使用try……catch语句进行捕获
finally结合try使用,只要执行了try中的代码,finally就一定会执行
异常的一些细节
父类方法中声明抛出多个异常,那么子类重写(覆盖)该方法只能抛出那些异常的一个子集,也就是说子类不能比父类抛出更多的异常。
处理多个异常
try与finally的嵌套使用
自定义异常
可以继承Exception类来自定义一个异常
如果要定义一个运行时异常则需要继承RuntimeException类
例子:经典的除零异常 Exception in thread "main" ------java.lang.ArithmeticException: / by zero
class ExceptionTest { public static void main(String args[]){ int a = 12,b =0; int d ; d = a / b ;//除零 System.out.println( a +"/" + b +" = " + d ); }}
例子:空指针异常Exception in thread "main"------ java.lang.NullPointerException
class ExceptionExam1{public static void main(String args[]){java.util.Date d = null;System.out.println(d.getTime());}}
- 黑马程序员--异常处理(上)
- 黑马程序员---异常处理
- 黑马程序员--异常处理
- 黑马程序员--异常处理
- 黑马程序员-异常处理
- 黑马程序员--异常处理
- 黑马程序员 异常处理
- 黑马程序员 ---- 异常处理
- 黑马程序员--异常处理
- 黑马程序员-异常处理
- 黑马程序员-【异常处理】
- 黑马程序员--异常处理
- 黑马程序员--异常处理
- 黑马程序员---异常处理
- 黑马程序员--异常处理
- 黑马程序员---异常处理异常
- 黑马程序员-java异常处理
- 黑马程序员:异常处理总结
- 微博营销报道一则
- 项目添加UNICODE支持时,出现链接错误error LNK2019: 无法解析的外部符号 _WinMain
- 写js代码的时候,使用el表达式注意用引号
- 黑马程序员--Java修饰符
- Struts中文件的上传和下载-笔记
- 黑马程序员--异常处理(上)
- linux驱动常用头文件简要说明
- java.io.EOFException
- 黑马程序员--异常处理(下)
- Android layout_weight用法图解
- c++builder 如何实现一个应用程序只能打开一个进程
- 类大小及类成员分配
- 设置windows自动登录
- window server2008 配置FTP服务