JAVA异常

来源:互联网 发布:算法的描述 编辑:程序博客网 时间:2024/05/11 17:47

           java中的错位分为编译错误,逻辑错误和运行时错误。

         异常处理的主要目的是即使在程序运行时发生了错误,也要保证程序能正常结束,避免由于错误而使正在运行的程序中途停止。

        异常就是程序运行时的错误和意外。

        Java中所有的异常都是用类表示的,在JAVA中预定义了很多异常类,每个代表了一种类型的运行错误。当程序发生异常时,会生成某个异常类的对象。

         Throwable类有两个直接的子类,Error(致命错误)和Exception(异常)。Error的异常与JAVA的虚拟机本身发生的错误有关,这类异常由java直接处理,用户程序产生的错误由Exception的子类表示,用户程序应该处理这类异常。

  异常的处理机制,抛出(throw),捕捉(catch)异常

人为异常抛出

两种方式:
① 在方法头写出需要抛出的异常(利用throws语句)
② 在方法体内抛出异常(利用throw语句)

Try-catch-finally结构说明:
(1)将可能发生异常的程序代码放置在try程序块中。如果该块内的代码出现了异常,系统将终止try块代码的执行,自动跳转到所发生的异常类对应的catch块中,执行该块中的代码。如果程序运行正常,后面的各catch块不起任何作用。
(2)finally块是个可选项,无论异常是否发生,finally块的代码必定执行。通常把对各种异常共同处理部分放在finally块中,如输出统一信息、释放资源、清理内存、关闭已打开的文件等。
(3)一个try块可以对应多个catch块,用于对多个异常类进行捕获。但最多只能选中一个执行。
(4)异常对象与catch块中声明的实例的匹配原则:
异常对象是catch块中声明的异常类的实例;
异常对象是catch块中声明的异常类的某一子类的实例;

自定义异常类
class MyException extends Exception{

}用户定义的异常同样要用try--catch捕获,但必须由用户自己抛出 throw new MyException().


0 0