Java异常处理不当:未捕获的异常和自定义异常案例
在Java编程中,异常处理是非常重要的一部分。它可以帮助我们避免程序因意外情况而崩溃。以下将通过两种常见的情况来展示未捕获的异常以及自定义异常的使用。
- 未捕获的异常
假设我们在代码中调用了一个方法,但是这个方法可能会抛出一个我们没有预期到的异常。
public class Main {
public static void main(String[] args) {
String input = "invalid data";
try {
// 调用可能会抛出异常的方法
processInput(input);
} catch (Exception e) {
System.out.println("An unexpected exception occurred: " + e.getMessage());
}
}
public static void processInput(String input) throws Exception {
// 假设这里需要处理输入数据,但是输入无效会抛出异常
if (input.isEmpty()) {
throw new IllegalArgumentException("Invalid data provided.");
} else {
// 正常情况下,代码可以执行到此处
}
}
}
在这个例子中,processInput()
方法可能会抛出一个 IllegalArgumentException
。如果我们没有捕获这个异常,程序将会因为这个未处理的异常而停止运行。
- 自定义异常
在实际开发过程中,我们常常会遇到一些特定的问题或者业务场景,这些可能需要我们自定义一个异常来表示。
例如,假设我们在电商系统中,有一个商品库存不足的情况,我们可以创建一个专门用于这种情况的自定义异常类:
// 创建一个自定义异常类,用于表示商品库存不足
public class InsufficientStockException extends Exception {
// 确保每个异常实例都有唯一标识符
public InsufficientStockException(String message) {
super(message);
}
}
在实际代码中使用这个自定义异常来处理库存不足的情况。
还没有评论,来说两句吧...