有时候,Java自带的异常不够用,比如你写了个“学生管理系统”,需要专门处理“学号无效”或“分数不合理”这种问题。这时候,你就可以自己定制一个异常,专门用来解决特定场景下的错误。自定义异常就像是为你的程序量身打造的“问题提示器”。
1. 自定义异常是什么?
自定义异常,就是你自己创建一个新的异常类,用它来表示某种特定的错误情况。这样,当你遇到这种问题时,可以用你的自定义异常抛出错误,别人一看就知道出错原因。
2. 如何自定义一个异常?
自定义异常其实很简单,只需要写一个类,继承自Exception
或者RuntimeException
,就能创建属于你自己的异常类型。
例子:自定义一个“学号无效”异常
// 创建自定义异常类
public class InvalidStudentIdException extends Exception {public InvalidStudentIdException(String message) {super(message);}
}// 使用自定义异常
public void checkStudentId(String studentId) throws InvalidStudentIdException {if (studentId == null || studentId.isEmpty()) {throw new InvalidStudentIdException("学号无效!学号不能为空!");}
}
- 解释:
- 我们定义了一个名为
InvalidStudentIdException
的异常类,继承自Exception
,并在构造方法里传递错误信息。 - 在
checkStudentId
方法里,当学号为空时,我们主动用throw
关键字抛出这个自定义的异常。
- 我们定义了一个名为
3. 自定义异常有啥用?
自定义异常可以让你的程序问题更加明确。比如,看到InvalidStudentIdException
就知道是学号有问题,而不像普通的IllegalArgumentException
那么笼统。这样,程序的维护和调试也变得更简单清晰。
总结:定制你的“专属错误”
- 通过继承
Exception
或者RuntimeException
,你可以创建自己的异常类。 - 当遇到特定问题时,抛出自定义异常,让别人更清楚发生了什么问题。
这样一来,程序遇到问题时,不仅不慌,还能精准定位错误,让代码更“贴心”!