Java异常详解

it2022-05-05  130

异常 Java的异常(Exception)又称为例外,是一个在程序执行期间发生的事件,它中断正在执行的程序的正常指令流。为了能够及时有效地处理程序中的运行错误,必须使用异常类。 异常的类型 在Java中的异常类型都是内置类java.lang.Throwable类的子类,即Throwable位于异常类层次结构的顶层,其下有两个异常分类Exception(异常)和Error(错误),Exception类有分为运行时异常(不检查异常,Unchecked Exception)和非运行时异常(检查异常,Checked Exception) 异常处理语句(四种)

try catch语句try catch finally语句 其格式:try{ 逻辑程序块; }catch(Exceptiontype1 e){ 处理代码块1; } catch(Exceptiontype1 e){ 处理代码块2; Throw(e);//抛出异常 }finally{ 释放资源代码块; } 把可能发生异常的语句封装到try语句块中,用以捕获可能发生的异常。如果try语句发生异常,那么一个相应的异常对象就会被抛出,然后catch语句就会根据所抛出的异常对象类型进行捕获,并处理,此时程序将跳过try语句中剩余的语句,转到catch语句块的中。如果try语句块中没有异常发生,那么try块正常结束,其后catch语句被跳过。以上格式无论是否发生异常,finally语句块中的代码都会被执行。thorws声明异常 当一个方法产生一个它不处理的异常时,那么就需要在该方法的头部声明这个异常,以便将该异常传递到方法的外部进行处理。 其格式: returntype method_name(paramList)throws Exception1,Exception2,…{ } 在编写继承代码时要注意,子类在覆盖父类带throws子句的方法时,子类的方法声明中的throws子句不能出现父类对应方法的throws子句中没有的异常类型,因此throws子句可以限制子类的行为,也就是说,子类方法抛出的异常不会超过父类定义的范围。thorw 抛出异常 throw语句用来直接抛出一个异常 其格式: throw ExceptionObject; 当throw语句执行时,它后面的语句将不执行,此时程序转向调用程序,寻找与之相匹配的catch语句,执行相应的异常处理程序。如果没有找到,则再转向上一层的调用程序。这样逐层向上,直到最外层的异常处理程序中止程序并打印出调用栈情况。 Throws关键字与throw关键字的区别:throws用来声明一个方法可能抛出的所有异常信息,throw则是指抛出的一个具体的异常类型通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息。throws通常不用显示地捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;throw则需要用户自己捕获相关的异常,而后再对其进行相关包装,最后将包装后的异常信息抛出。

自定义异常 自定义异常类必须继承现有的Exception类或其子类来创建。 其语法: <自定义异常名> 一般将自定义的异常类的类名命名为XXXException 自定义异常类一般含有两个构造方法,一个是无参的默认构造方法,另一个构造方法以字符串形式接收一个定制的异常消息,并将该消息传递给超类的构造方法


最新回复(0)