java自定义异常处理类:创建一个自定义的异常处理类,处理所有的异常,并提供有用的错误信息。并举几个代码例子
时间: 2023-05-28 10:03:50 浏览: 96
以下是一个简单的Java自定义异常处理类的示例:
```java
public class CustomExceptionHandler {
public static void handle(Exception e) {
if (e instanceof IllegalArgumentException) {
System.out.println("输入参数错误:" + e.getMessage());
} else if (e instanceof NullPointerException) {
System.out.println("空指针异常:" + e.getMessage());
} else if (e instanceof IOException) {
System.out.println("IO异常:" + e.getMessage());
} else {
System.out.println("未知异常:" + e.getMessage());
}
}
}
```
以上示例中,我们定义了一个静态方法`handle`,它接受一个`Exception`类型的参数。在该方法中,我们使用Java的`instanceof`关键字来检查异常类型,并根据不同的异常类型输出不同的错误信息。
以下是使用该自定义异常处理类的示例:
```java
public static void main(String[] args) {
try {
// some code that may throw an exception
} catch (Exception e) {
CustomExceptionHandler.handle(e);
}
}
```
通过调用`CustomExceptionHandler.handle`方法,我们可以捕获所有的异常,并提供有用的错误信息。
另一个示例是创建一个自定义异常类:
```java
public class CustomException extends Exception {
public CustomException(String errorMessage) {
super(errorMessage);
}
}
```
以上示例中,我们创建了一个继承自`Exception`类的自定义异常类`CustomException`。我们还定义了一个构造函数,它接受一个字符串参数`errorMessage`,并调用了父类的构造函数以设置异常消息。
以下是使用该自定义异常类的示例:
```java
public static void someMethod() throws CustomException {
// some code that may throw a CustomException
throw new CustomException("自定义异常消息");
}
public static void main(String[] args) {
try {
someMethod();
} catch (CustomException e) {
System.out.println("捕获到自定义异常:" + e.getMessage());
}
}
```
通过使用`throws`关键字声明方法可能抛出的异常类型,我们可以在调用该方法时捕获自定义异常。在`catch`块中,我们可以输出自定义的异常消息,以提供有用的错误信息。
阅读全文