在上一篇文章中,我们简单介绍了一下异常,这次我们介绍捕获异常和抛出异常。
捕获异常我们需要用到关键字,try,catch,finally。当我们遇到异常时我们要进行处理,这里就用到捕获异常,try中放的时可能遇到报错的代码,catch中放遇到异常时的处理,finally则存放的时无论是否遇到异常都会执行的代码,其中try必须存在且需要和catch或者finally其中一个使用。
try{
//可能遇到异常的代码
}catch(Exception e){
//遇到异常后处理的代码
}finally{
//无论是否异常都会执行的代码
}
当然,在编写代码的过程中,有可能会遇到我们当时无法处理的异常,这时我们就要用到抛出异常,抛出异常需要用到关键字,throw,throws。throw的语法如下:
//throw new ExceptionType;
//(ExceptionType表示循环类型)
throw写在方法内部,当遇到throw语句时代码不会继续执行,向上层抛出异常,可以在外面使用try-catch进行处理。
throws是写在方法上的,声明方法内部抛出了异常,必须跟在方法参数列表后面,不能单独使用,可以在后面跟多个异常类型。语法如下:
/*
public void test() throws ExceptionType{//(ExceptionType表示异常类型)
}
*/
同样在用throws后会抛出异常,可以在上层进行try-catch处理。
在写代码时,还会遇到新的错误,我们想要其是一个异常,然而java本身没有这个异常类型,这时我们就要用到自定义异常。
自定义异常的编写也比较简单,只需要编写一个异常类去继承Exception或者RunTimeException,并且写有参与无参构造就编写好了属于我们自己的异常。当要使用的时候,使用throw抛出我们创建的异常对象即可。