黑马程序员--java基础复习--异常
----------------------?ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ---------------------
异常的定义:
? 阻止当前方法或作用于继续执行的问题,说白了就是运行时出现的可能会导致程序中断的问题,之所以说可能,是因为有一种异常(RuntimeException)出现之后程序不会中断,会继续执行下去,这就相当于在程序执行的时候遇到问题了,需要给程序员一个信息,但这个信息又不同于程序中其他的正常内容,所以用异常来表示。
异常体系
Throwable类是java语言中所有错误或异常的超类。它的下一级有两个子类Error和Exception:
Error:不能被捕获的严重错误,比如内存泄露、找不到执行文件、java虚拟机资源告罄等,这些异常虚拟机会直接处理了。
Exception:程序内部可以被捕获的异常,这个又分为两种UncheckeException和CheckedException:
UncheckedException又叫做RuntimeException,不需要捕获,常见的有IllegalArgumentException、IllegalStateException、NullPointException、IndexOutOfBoundsException等
CheckedException异常需要捕获进行处理,这种异常就多了去了,IOException、SQLException、SocketException等等
异常的使用
异常使用时要注意的问题
1、在处理异常时,不要什么异常都用Exception来捕获,这样不论出现什么异常都用同一种方式处理,这明显不符合我们的意愿。
2、当捕获的不同异常之间存在继承关系时,一定要先捕获子类,再捕获父类,因为如果先捕获父类的话,捕获子类的那段代码就没用了,出现子类异常都给父类拿去玩了。
3、分析那些地方会出现异常,然后进行try。。。catch,因为代码越简洁越舒服。加个异常,原先代码100行立马就编程了几百行了。
?
----------------------?ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net