java中可以自定义异常类吗?
1、SUN公司提供的JDK内置的异常类肯定是不够用的。在实际开发中,有很多业务,这些业务出现异常之后,JDK中都是没有的,和业务挂钩的。那么异常类我们可以自己定义吗?
答案是可以的。
2、java中怎么自定义异常类?
- 第一步:编写一个类,继承Exception,或者继承RuntimeException,看你是自定义编译时异常,还是自定义运行时异常;
- 第二步:提供两个构造方法,一个无参数构造方法,一个带有String s参数的。有参数方法体中写super(s)即可。
测试代码:
public class Test13 {
public static void main(String[] args) {
// 创建自定义异常类的实例,并不抛出
MyStackOperatorException e = new MyStackOperatorException("栈操作有误");
String msg = e.getMessage();
System.out.println(msg); // 栈操作有误
e.printStackTrace(); // exception.MyStackOperatorException: 栈操作有误
}
// 自定义异常类
class MyStackOperatorException extends Exception {
public MyStackOperatorException() {
}
public MyStackOperatorException(String s) {
super(s);
}
}