Java可以抛出自定义的异常,主要是通过继承Exception类或RuntimeException类来创建自定义异常类。下面是创建自定义异常类的完整攻略:
1. 创建异常类
为了抛出自定义的异常,需要先创建一个异常类,可以继承Exception类或RuntimeException类。
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
上述代码中,我们创建了一个名为MyException的异常类,继承自Exception类,该异常类有一个带有String参数的构造方法。
2. 抛出自定义异常
在Java中,可以使用throw关键字抛出异常。为了抛出自定义的异常,可以在需要抛出异常的地方,使用new操作符创建自定义异常对象,并使用throw关键字将异常抛出。
public class TestMyException {
public static void main(String[] args) throws MyException {
int i = 10;
if (i == 10) {
throw new MyException("i cannot be 10.");
}
}
}
上述代码中,我们在main方法中使用throw关键字抛出自定义异常对象。当i等于10时,程序会抛出我们自定义的异常对象,即触发了异常。
3. 捕获自定义异常
当抛出自定义异常后,需要在程序中捕获该异常并处理。可以使用try-catch语句来捕获异常。在catch块中可以定义异常处理的代码。
public class TestMyException {
public static void main(String[] args) {
int i = 10;
try {
if (i == 10) {
throw new MyException("i cannot be 10.");
}
} catch (MyException e) {
System.out.println(e.getMessage());
}
}
}
上述代码中,我们使用try-catch语句来捕获抛出的自定义异常对象。在catch块中,我们使用了getMessage方法来获取自定义异常中的信息并打印输出。
另一个示例:
public class TestMyException1 {
public static void main(String[] args) throws MyException {
int age = 10;
if(age < 18){
throw new MyException("Age must be greater than or equal to 18.");
}else{
System.out.println("You can vote!");
}
}
}
上述代码中,我们声明了一个名为age的变量,并将其值设为10。在程序中,如果age小于18,则抛出自定义的异常对象并打印出错误信息;如果age大于或等于18,则可以进行投票。
以上就是Java如何抛出自定义异常的完整攻略,希望能对你有所帮助。