无法在 Spark Java 中捕获路由错误?

No way to catch route errors in Spark Java?

class Spark 上有一个静态异常路径,但它只需要从 Exception 扩展的东西。如果发生可抛出的错误,但不扩展异常,则似乎无法在 Spark API 中捕获它以在将 500 返回给客户端之前记录或处理它。

无法映射到 Spark.exception 的常见 Throwable 类型示例:java.lang.ExceptionInInitializerError

有什么方法可以在它们消失给客户端之前在 Spark 中掌握它们,而不用将每个路由的功能包装在 try/catch(Throwable)?

您无法在 Spark 中捕获 Throwable 个错误。

问题是 Throwable 包括 Error 错误在编程上是不可恢复的,因此通常不会被捕获。 另一方面,Exception 可以通过编程方式恢复,因此您可能想要捕获一些东西。

我推荐你阅读

  • Difference between using Throwable and Exception in a try catch
  • Why catch Exceptions in Java, when you can catch Throwables?

您应该问问自己为什么要尝试捕获 Throwable 并可能修改该部分(如果是您的代码)。