Java中自定义异常的使用

时间:2022-06-30 23:38:24

Java中的自定义异常的使用步骤:

1.定义异常,并继承Exception,分别构造无参函数和有参构造函数,并在构造函数中分别调用父类的无参构造函数和有参构造函数


<span style="font-size:18px;">package com.bluesky;

public class DivideByFuShu extends Exception {

public DivideByFuShu(){
super();
}

public DivideByFuShu(String message){
super(message);
}

}</span>

2.在测试类中使用该异常:

package com.bluesky;

public class Test {

public static void main(String[] args) {
try{
int result =divide(4,-2);
System.out.println(result);}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}

public static int divide(int x,int y) throws Exception
{
if(y<0){
throw new DivideByFuShu("被除数不能是负数!");
}
int result = x/y;
return result;
}
}

运行结果:

被除数不能是负数!


另附同样的一个实例,加深理解:

1.自定义异常的定义,只要继承Exception并在无参构造函数和有参构造函数中分别调用父类的该方法,自定义异常就完成了,是不是很简单呢?

package com.bluesky;

public class CanotDividedByZero extends Exception {

public CanotDividedByZero(){

super();
}

public CanotDividedByZero(String message){
super(message);
}


}


2.自定义异常的使用:

package com.bluesky;

public class Test2 {

public static void main(String[] args) {

try {
int result=Divided(4,0);//捕获异常
} catch (Exception e) {

System.out.println(e.getMessage());//打印异常信息
}
}

//声明该方法会有异常抛出
public static int Divided(int x ,int y) throws Exception{

if(y==0)throw new CanotDividedByZero("除数不能为0!");

else return x/y;
}
}

运行结果:

除数不能为0!