到目前为止,您已经知道如何处理Java API抛出的java中的异常,但是有时您可能偶尔需要抛出自己的异常,即,如果遇到这些异常均不能准确描述异常的情况,或者您可以在Java API中找不到合适的异常,您可以编码一个类,该类定义更合适的异常,并且该异常处理机制称为Custom或User Defined Exception。
在Java API中,所有异常类都有两种构造函数。首先称为默认构造函数,它不接受任何参数。另一个构造函数接受一个字符串参数,该参数提供有关异常的其他信息。因此,以这种方式,Custom异常就像Java API中的其余异常类一样。
自定义异常有两种主要的用例:
发生问题时,您的代码可以简单地引发自定义异常。
您可以通过添加自己的消息来包装提供额外信息的异常。
Custom异常的代码:
public class ExceptionClassNameextends Exception { publicExceptionClassName(){ } publicExceptionClassName(StringMessage) { super(message); } }
考虑一下程序:
import java.util.*; class StudentManagement extends Exception { StudentManagement(String errmsg) { super(errmsg); } } class UserDefinedException { public static void main(String arg[]) { try { Scanner KB=new Scanner(System.in); System.out.print("Enter Percentage:"); int per=KB.nextInt(); if(!(per>=0 && per<=100)) { throw(new StudentManagement("Invalid Percentage...."+per)); } else { System.out.println("Valid Percentage..."); } } catch(StudentManagement e) { System.out.println(e); } } }