如何在java中捕获异常不受支持的主要.minor版本异常

时间:2014-11-21 06:16:40

标签: java exception-handling

通过将java版本链接到更高的问题将会得到解决,但我不想以这种方式做。我想捕获异常并抛出用户可理解的消息。它可能与否?

1 个答案:

答案 0 :(得分:1)

如果你可以在抛出“不支持的版本”异常的代码周围包装一个try / catch,那么捕获Throwable就可以了。 (最好抓住更具体的异常UnsupportedClassVersionError尽管......)

然而,有一些重要的警告:

  • 启动JVM时经常抛出异常,并且无法捕获JVM启动期间抛出的异常。 (它们通常在运行任何应用程序代码之前发生;即在main方法之前,在任何静态初始化之前。)

    或者换句话说,您通常不能将try / catch放在抛出此异常的代码周围。

  • 另一种情况是当您尝试动态加载类(例如Class.forName)时......而不是在启动应用程序时。在原始(现已删除)代码中,launch方法可能正在加载类,并调用静态或实例方法来“启动”应用程序。

  • 为诊断以外的任何目的捕获异常是坏主意。例外Error例外,这些例外通常是不可恢复的。