如何从枚举构造函数中抛出异常?

tek*_*ara 12 java singleton enums constructor

如何从枚举构造函数中抛出异常?例如:

public enum RLoader {
  INSTANCE;
  private RLoader() throws IOException {
   ....
  }
}
Run Code Online (Sandbox Code Playgroud)

产生错误

未处理的异常类型IOException

tek*_*ara 18

因为实例是在静态初始化程序中创建的,所以抛出ExceptionInInitializerError.

  • 虽然这是一个可能的解决方案,但我认为以这种方式解决问题并不合理. (5认同)