在Java中,你可以通过创建自定义异常类来表示特定类型的异常情况。自定义异常类通常扩展自Exception
(受检查异常)或RuntimeException
(非受检查异常)类之一。以下是创建自定义异常的一般步骤:
- 创建自定义异常类:创建一个新的类并扩展自
Exception
或RuntimeException
类。你可以根据需要添加自定义的构造方法和其他方法。// 自定义受检查异常类 public class MyCheckedException extends Exception { public MyCheckedException() { super(); } public MyCheckedException(String message) { super(message); } } // 自定义非受检查异常类 public class MyUncheckedException extends RuntimeException { public MyUncheckedException() { super(); } public MyUncheckedException(String message) { super(message); } }
- 使用自定义异常:在需要时抛出或捕获自定义异常。
public class MyClass { public void doSomething() throws MyCheckedException { // 抛出自定义受检查异常 throw new MyCheckedException("Something went wrong."); } public void doSomethingElse() { // 抛出自定义非受检查异常 throw new MyUncheckedException("Something else went wrong."); } public static void main(String[] args) { try { MyClass obj = new MyClass(); obj.doSomething(); } catch (MyCheckedException e) { // 捕获自定义受检查异常 e.printStackTrace(); } } }
在上面的示例中,
MyCheckedException
和MyUncheckedException
分别表示自定义的受检查异常和非受检查异常。在MyClass
中的doSomething
方法中抛出了MyCheckedException
,并在main
方法中捕获了它。doSomethingElse
方法中抛出的是MyUncheckedException
,不需要显式地捕获。