Java 在main()中可丢弃的日志记录
由于不同帖子中列出的原因,捕捉可丢弃的Java 在main()中可丢弃的日志记录,java,throwable,Java,Throwable,由于不同帖子中列出的原因,捕捉可丢弃的是不可取的。然而,像下面这样构造一个主结构有意义吗?如果删除了可丢弃行,则不会记录错误 public static void main(String[] args) { try { launchMyApplication(); } catch (SomeCheckedException e) { //recover if you can, log it if you can't } catch (Exc
是不可取的。然而,像下面这样构造一个主结构有意义吗?如果删除了可丢弃行,则不会记录错误
public static void main(String[] args) {
try {
launchMyApplication();
} catch (SomeCheckedException e) {
//recover if you can, log it if you can't
} catch (Exception e) {
//recover if you can (unlikely), log it if you can't
} catch (Throwable e) {
//Don't try to recover, but log it
logger.error("Oops: {}", e);
}
}
以这种方式实现只会处理在主线程上抛出的一次性事件
解决此问题的最佳方法是使用。因此,如果异常被第一根阴极捕获,它会被最后一根线捕获吗?否则它将无法通过catch(异常e)
。不,我不会在main()
+1个好问题中重复。也希望得到一些好的答案。这里有一些关于捕获Throwable的有趣信息:@Jivings Throwable将在发生错误时被调用,比如StackOverflowerError,因为它们是Throwable的子类,但不是Exception。