Java异常处理:捕获和声明性抛出自定义异常的代码示例
在Java中,自定义异常通常是通过继承Exception
类或其子类来创建的。以下是捕获和声明性抛出自定义异常的代码示例:
步骤1:定义自定义异常首先,我们定义一个自定义异常类,继承自Exception
类:
javapublic class MyCustomException extends Exception {
public MyCustomException(String message) {
super(message);
}
}
###步骤2:抛出自定义异常接下来,我们创建一个方法,该方法在特定条件下抛出我们的自定义异常:
javapublic class ExceptionDemo {
public void doSomething(int value) throws MyCustomException {
if (value <0) {
throw new MyCustomException("Value cannot be negative.");
}
System.out.println("Value is: " + value);
}
}
###步骤3:捕获自定义异常最后,我们创建一个主方法来调用doSomething
方法,并捕获可能抛出的自定义异常:
javapublic class Main {
public static void main(String[] args) {
ExceptionDemo demo = new ExceptionDemo();
try {
demo.doSomething(-1);
} catch (MyCustomException e) {
System.err.println("Caught an exception: " + e.getMessage());
}
}
}
在这个示例中,doSomething
方法检查传入的值是否为负数,如果是,则抛出MyCustomException
。在main
方法中,我们使用try-catch
块来捕获并处理这个异常。
声明性抛出异常除了在方法内部抛出异常外,我们还可以在方法签名中使用throws
关键字声明该方法可能会抛出的异常。这要求调用者处理这些异常,要么通过try-catch
块捕获,要么通过在自己的方法签名中声明throws
来进一步传递。
javapublic void doSomethingElse() throws MyCustomException {
// 方法实现,可能会抛出MyCustomException}
在这个例子中,doSomethingElse
方法声明它可能会抛出MyCustomException
,这意味着任何调用doSomethingElse
的方法也必须处理或声明这个异常。
还没有评论,来说两句吧...