关于自定义异常在接口开发中继承RuntimeException的使用总结
在接口开发的过程中,为了程序的健壮性,我们经常考虑到代码执行的异常,并给前端一个友好的展示,这里就用到自定义异常,继承RuntimeException类。这个RuntimeException和普通的Exception有什么区别呢?
(1)Exception:非运行时异常,在项目运行之前必须处理掉。一般由程序员 try…catch掉。
(2)RuntimeException:运行时异常,在项目运行之后出错则直接终止运行,异常由JVM虚拟机处理。
在接口的逻辑判断出现异常时,可能会影响后面的代码。或者说绝不容忍(允许)该代码块出错,那么我们就用RuntimeException,但是我们又不能因为系统挂掉,只能在后台抛出异常而不给前端返回友好的提示吧,至少给前端返回出现异常的原因吧。因此接口的自定义异常作用就体现了出来。
代码示例:
使用自定义异常示例:
import java.util.Scanner;
public class Mytest2 {
static String str="[1][3,4,5,7,8,9][0-9]{9}";
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的手机号码:");
String s = sc.nextLine();
chayan(s);
}
private static void chayan(String s) {
if (s.matches(str)){
System.out.println("手机号码输入正确!");
}else {
System.out.println("手机号码输入有误!");
throw new NumberIsWrong("手机号码输入有误");
}
}
}
继承RuntimeException类:
public class NumberIsWrong extends RuntimeException {
public NumberIsWrong(String string) {
super(string);
}
}
运行结果图示:
(1)输出正确:
(2)输出错误: