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!