更新时间:2022-09-02 12:12:53 来源:极悦 浏览991次
在 Java 中,我们可以创建自己的异常,它们是 Exception 类的派生类。创建我们自己的异常称为自定义异常或用户定义的异常。基本上,Java自定义异常用于根据用户需要自定义异常。
考虑示例 1,其中 InvalidAgeException 类扩展了 Exception 类。
使用自定义异常,我们可以拥有自己的异常和消息。在这里,我们向超类的构造函数传递了一个字符串,即可以在我们创建的对象上使用 getMessage() 方法获得的异常类。
在本节中,我们将学习如何在 Java 程序中实现和使用自定义异常。
Java 异常几乎涵盖了编程中可能出现的所有一般类型的异常。但是,我们有时需要创建自定义异常。
以下是使用自定义异常的几个原因:
捕获现有 Java 异常的子集并提供特定处理。
业务逻辑异常:这些是与业务逻辑和工作流相关的异常。对于应用程序用户或开发人员了解确切的问题很有用。
为了创建自定义异常,我们需要扩展属于 java.lang 包的 Exception 类。
考虑以下示例,其中我们创建了一个名为 WrongFileNameException 的自定义异常:
公共类 WrongFileNameException 扩展 异常 {
公共 错误文件名异常(字符串错误消息){
超级(错误消息);
}
}
示例 1:
让我们看一个 Java 自定义异常的简单示例。在以下代码中,InvalidAgeException 的构造函数将字符串作为参数。使用 super() 方法将此字符串传递给父类 Exception 的构造函数。此外,可以不使用参数调用 Exception 类的构造函数,并且调用 super() 方法不是强制性的。
TestCustomException1.java
// 表示自定义异常的类
类 InvalidAgeException 扩展 异常
{
公共 InvalidAgeException(字符串 str)
{
// 调用父异常的构造函数
超级(str);
}
}
// 使用自定义异常 InvalidAgeException 的类
公共类 TestCustomException1
{
// 检查年龄的方法
静态无效 验证(整数 年龄) 抛出 InvalidAgeException{
如果(年龄 < 18 ){
// 抛出一个用户定义的异常对象
throw new InvalidAgeException( "年龄无效投票" );
}
否则 {
System.out.println( "欢迎投票" );
}
}
// 主要方法
公共静态无效 主(字符串参数 [])
{
尝试
{
// 调用方法
验证(13 );
}
捕捉 (InvalidAgeException ex)
{
System.out.println( "捕获异常" );
// 打印来自 InvalidAgeException 对象的消息
System.out.println( "发生异常:" + ex);
}
System.out.println( "剩下的代码..." );
}
}
输出:
示例 2:
TestCustomException2.java
// 表示自定义异常的类
MyCustomException 类扩展 异常
{
}
// 使用自定义异常 MyCustomException 的类
公共类 TestCustomException2
{
// 主要方法
公共静态无效 主(字符串参数 [])
{
尝试
{
// 抛出一个用户定义的异常对象
抛出新的 MyCustomException();
}
捕捉 (MyCustomException ex)
{
System.out.println( "捕获异常" );
System.out.println(ex.getMessage());
}
System.out.println( "剩下的代码..." );
}
}
输出:
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习