运行时期异常 RumtimeException:
当在定义功能的时候,如果程序中检测到了问题,但这个问题不需要调用者提前给处理方案,这时就可以不用抛出编译时期异常,那么在编译代码的时候,编译器就不会检测这个问题编译正常通过,当程序真正运行起来的时候,问题发生了,这个时候这个问题就会直接抛给了调用者。那么由于没有在方法上对这个问题进行声明,调用者在调用的时候也不知道,那么调用就不会提前给处理方案,就会导致调用者的程序停止运行。
异常处理:
Java中的异常处理是通过捕获或者声明来处理。
声明:
当在程序中有异常发生,这时我们可以有2种处理方案,最简单的就是在方法上使用throws关键字把这个问题声明出去。
throws关键字主要用在方法上,用于声明方法中使用throw关键字抛出的异常(编译时期异常)。
捕获:
声明是在方法上把异常报告给调用者。捕获是在方法中把这个异常抓住。不让这个问题暴漏出去。
捕获异常的格式:
try
{
//在try代码块中书写可能发生异常的问题代码
}
catch( 发生的异常名字 变量名 )
{
对捕获到的异常进行处理的代码
}
声明和捕获的区别声明主要用在方法上,主要功能是把方法中的异常声明给调用者。方法中没有异常,也可以在方法上声明异常。声明的目的只有一个,就是把异常报告给调用者。
捕获:主要用在方法中,对方法中出现的问题在方法中直接捕获掉,把问题在方法中直接处理完成。