我想在我的Java程序中抛出PSQLException。
throw new PSQLException("serializable error", new PSQLState("40001"));
但是,Eclipse不允许编译我的java程序,收到错误:
无法实例化PSQLState类型
我在程序中使用Postgres SQL数据库。我在项目中有postgresql-42.2.5.jar库。我导入了这两个类,没有帮助。
import org.postgresql.util.PSQLException;
import org.postgresql.util.PSQLState;
类org.postgresql.util.PSQLState
是枚举,因此您只能使用该枚举中定义的值。您无法创建新值。但是,您的代码根本不需要实例化PSQLException
,该异常是使用PostgreSQL JDBC驱动程序,而不是用户代码。
如果你需要抛出一个SQLException
(在我看来用户代码通常不需要),你应该使用java.sql.SQLException
(或者包java.sql
中的一个子类),或者定义你自己的子类,例如new SQLException(String reason, String SQLState)
。