java自定义异常20

简介: java自定义异常20

Java标准库定义的常用异常包括:


Exception
├─ RuntimeException
│  │
│  ├─ NullPointerException
│  │
│  ├─ IndexOutOfBoundsException
│  │
│  ├─ SecurityException
│  │
│  └─ IllegalArgumentException
│     │
│     └─ NumberFormatException
├─ IOException
│  │
│  ├─ UnsupportedCharsetException
│  │
│  ├─ FileNotFoundException
│  │
│  └─ SocketException
├─ ParseException
├─ GeneralSecurityException
├─ SQLException
└─ TimeoutException



当我们在代码中需要抛出异常时,尽量使用JDK已定义的异常类型。例如,参数检查不合法,应该抛出IllegalArgumentException:


static void process1(int age) {
    if (age <= 0) {
        throw new IllegalArgumentException();
    }
}

在一个大型项目中,可以自定义新的异常类型,但是,保持一个合理的异常继承体系是非常重要的。


一个常见的做法是自定义一个BaseException作为“根异常”,然后,派生出各种业务类型的异常。


BaseException需要从一个适合的Exception派生,通常建议从RuntimeException派生:


public class BaseException extends RuntimeException {
}

其他业务类型的异常就可以从BaseException派生:


public class UserNotFoundException extends BaseException {
}

public class LoginFailedException extends BaseException {
}

...

自定义的BaseException应该提供多个构造方法:


public class BaseException extends RuntimeException {
    public BaseException() {
        super();
    }
    
    public BaseException(String message, Throwable cause) {
        super(message, cause);
    }
    
    public BaseException(String message) {
        super(message);
    }
    
    public BaseException(Throwable cause) {
        super(cause);
    }
}



上述构造方法实际上都是原样照抄RuntimeException。这样,抛出异常的时候,就可以选择合适的构造方法。通过IDE可以根据父类快速生成子类的构造方法。



相关文章
|
2天前
|
监控 Java
Java 异常处理详解
Java 异常处理是程序设计中的重要特性,用于捕获和响应运行时错误,确保程序稳定或优雅退出。异常包括由程序逻辑或外部环境引起的错误,分为 `Error` 和 `Exception`。`Error` 通常无法处理,而 `Exception` 可被捕获。异常处理机制包括 `try-catch-finally` 块,其中 `try` 块监控代码,`catch` 块处理异常,`finally` 块执行清理操作。此外,还可以手动抛出异常和创建自定义异常。异常链则用于传递原始异常信息。合理使用异常处理可以提高程序的稳定性和可靠性。
|
4月前
|
Java
Java中的异常处理:理解并有效利用
【5月更文挑战第31天】本文将深入探讨Java的异常处理机制,包括异常的类型、如何捕获和处理异常,以及如何使用自定义异常。我们将通过实际的代码示例来展示这些概念的应用,以帮助你更好地理解和使用Java的异常处理。
|
3月前
|
Java 编译器 程序员
JAVA-异常处理
JAVA-异常处理
|
4月前
|
Java 程序员
Java 异常处理
4月更文挑战第22天
|
4月前
|
Java 程序员
JAVA的异常处理
JAVA的异常处理
24 0
|
4月前
|
Java
用java写一个自定义异常
用java写一个自定义异常
33 1
|
Java 数据库连接
Java 中的异常处理详解
Java 中的异常处理详解
65 0
|
Java
Java 异常处理(二)
Java 异常处理(二)
51 0
|
Java
Java 异常处理(一)
Java 异常处理(一)
76 0
|
Java 程序员
异常处理(Java)
异常处理(Java)
62 0