我面临一个使用情况下,我想声明static final
场与被声明为抛出checked异常的初始化语句静态最终字段初始值。通常情况下,它会是这样的:如何处理抛出的checked exception
public static final ObjectName OBJECT_NAME = new ObjectName("foo:type=bar");
我这里的是,ObjectName
构造函数可能会抛出各种检查异常,我不关心这个问题(因为我知道我的名字是有效的,如果它不幸发生崩溃,那么它是没问题的)。 Java编译器不会让我忽略这一点(因为它是一个checked exception)时,我宁愿不诉诸:
public static final ObjectName OBJECT_NAME; static{ try{ OBJECT_NAME = new ObjectName("foo:type=bar"); }catch(final Exception ex){ throw new RuntimeException("Failed to create ObjectName instance in static block.",ex); } }
因为静态块是真的,真的很难看。有没有人有如何以一个很好,干净的方式处理这个案件的建议?
我个人的解决方案是抛出'CheckedExceptionsAreAPainInTheAssSometimesException',这是一个运行时异常。该程序将只会崩溃。 – Airhead 2017-10-18 01:34:22