0
点赞
收藏
分享

微信扫一扫

java异常处理及自定义异常

紫荆峰 2022-03-11 阅读 116
java

异常处理的实际上就是:

有风险的行为(方法)可能会将异常抛出(throw)。调用该方法的程序会尝试(try)去运行,运行的同时捕捉(catch)异常。

        简而言之,就是对有风险的行为进行处理。

 有风险的行为:

与程序代码上出现的逻辑问题不同(比如你对一个只有5项元素的数组取第8个元素的值),有风险的行为是指你无法保证在执行期不会出现的(例如某些文件会正确的待在某个特定的目录中,当实际执行时文件却又失踪了)。 

为什么要做异常处理:

让编译器确定你了解所调用的方法是有风险的,并也准备好用try和catch来处理它。如果对有风险的行为不进行异常状况处理则无法通过编译。

package a0304;

public class task {
void doRisky(int num)throws numException{ //有风险的行为

if (num>5) {
System.out.print("start throw\n");
throw new numException(); //可能抛出的异常
}
System.out.print("throw 以后不会往下运行,直接跳转到catch\n");

}
public static void main(String[] args) {

task t1 = new task();

try { //尝试运行程序,如果捕捉到异常则直接跳转到catch
System.out.print("start try\n");
t1.doRisky(6);
System.out.print("end try\n");

}
catch(numException a){
System.out.print("start catch\n");
a.printStackTrace(); //对应第40行代码
System.out.print("end catch\n");
}
System.out.print("enddddddddddddddd!");
}
}

//自定义异常类
class numException extends Exception{
/**
*
*/

private static final long serialVersionUID = 1L;

numException() {
super("数字异常!!!");
}
}

运行结果:

 如果把19行中  t1.doRisky(6); 改为   t1.doRisky(4);运行结果如下:

举报

相关推荐

0 条评论