到目前为止,您已经知道如何处理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);
}
}
}