【发布时间】:2019-10-14 14:28:01
【问题描述】:
我有一个枚举并尝试使用Class.forName(example)获得另一个类
但是,它显示 ClassNotFoundException。我的问题是,如何抛出异常来解决这个问题?
示例代码
enum Example {
PLUS("Plus", new Class<?>[]{Class.forName("com.directory.File")})
}
【问题讨论】:
-
你能包含一些演示问题的代码吗?
-
你想抛出一个 ClassNotFoundException 来解决那个异常??您尚未描述问题,请编辑您的问题
-
另见How to throw an exception from an enum constructor?。但最好的方法是在枚举器的初始化中不抛出异常。在命名空间“com.directory”中是否有一个名为“file”的类,以小写字母开头?
-
谢谢@AndyThomas 我会检查它...
-
@TheCoder 好的;尽管如此,这种依赖关系仍然存在,只是在构建系统(甚至编译器)隐藏的形式中,这总是会导致代码有些扭曲。如果 maven 是您的构建系统,请考虑在示例依赖项中使用
optional标志。