java - 未处理的异常类型 Java InstantiationException

标签 java exception throw

我正在尝试向我的代码添加异常,以便每当 securityManager 返回 false 时都会引发异常:

public Appointment(String date,String time) {
    //Secure Object Construction
    if (securityManager(date, time)) {
        this.date=date;
        this.time=time;
        System.out.println("Valid");
    }
    //Invalid Object, Throw Error
    else {
        throw new InstantiationException("Date provided is Invalid");
    }
    return;

但是,当我添加此内容时,出现语法错误:

Unhandled exception type InstantiationException

IDE 想要添加以下行:

public Appointment(String date,String time) throws InstantiationException

但是,当我这样做时,异常总是触发。

如何重新格式化代码,以便仅在 securityManager 返回 false 时才发生异常?

最佳答案

InstantiationException 是一个受检查的异常。你必须处理它,否则编译器会提示这个异常。

检查异常的示例有 ClassNotFoundExceptionIOExceptionSQLException 等。

如果你想在运行时引发异常,你可以使用unchecked Exception,它是ErrorRuntimeException的子类型。 IDE 永远不会要求处理这些异常。

关于java - 未处理的异常类型 Java InstantiationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60760319/

相关文章:

java - Spring Boot 集成测试抛出错误 "java.lang.IllegalStateException: Timeout on blocking read for 5000 MILLISECONDS"

java - 是否有用于打包枚举的 Java 约定?

java - 拦截 Hibernate 条件查询

java - 读取带有附件文件的消息时缺少起始边界异常

java - 处理 Spring Security Authentication Provider 中抛出的 BadCredentialsException

python - 名称错误 : global name 'HTTPError' is not defined

javascript - 函数参数验证的正确错误抛出

java - 如何修复 Java :26: error: illegal start of type (throws)

java - 创建仅包含指定像素的 ArrayList

C++ 为什么这个可以抛出?