我有一个类可以在静态初始化程序中加载和解析来自 XML 文件的数据,如下所示:
class A {
//static structures to store parsed XML data
public static int num;
...
static {
try {
//load/parse XML data
catch (Exception e) {
throw new RuntimeException("...");
}
}
public static void method1() {
//do some work on data
}
此类加载的数据用于将关键数据加载到我的应用程序中:
class Important {
...
public initCriticalData() {
try {
Class A.method();
catch(java.lang.ExceptionInInitializerError e) {
//notify user of failure to load/parse XMLs and wait for user to close application
}
}
}
建议不要捕获致命错误,但在这种情况下,捕获错误以通知用户是否合适?或者我应该在我的设计中采取不同的方向并在静态初始化程序之外加载数据?需要延迟加载数据,这就是我采用这种方法的原因。