java - 如何捕获 'Unsupported major.minor version'错误?

标签 java error-handling

我了解有关此类错误的问题。我希望我的程序能够检测正在运行的java版本并向用户提供更优雅的消息,而不是有点神秘的“线程“main”中的异常bla bla bla”消息。我可以检测到正在运行的 Java 版本,但似乎我的程序永远无法运行我的检查代码。

简而言之...我的程序如何捕获此错误、显示消息并正常退出?

最佳答案

此异常是从 ClassLoader 引发的,因此我建议您编写自己的 ClassLoader 版本,它将回溯此类错误。

UPD:更具体地说,您可以尝试重写方法defineClass,捕获此类异常并以方便的方式包装它。

UPD-2:正如我在评论中提到的,以及 us2012重新表述了我的想法(感谢他),你必须使用保证低于用户虚拟机版本的 -target 来编译你的类加载器

关于java - 如何捕获 'Unsupported major.minor version'错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14284981/

相关文章:

java - Netty FrameDecoder 没有在 ChannelPipeline 中调用而没有回车?

java - RxJava 2 Observable onComplete 重新提交自身

ruby-on-rails - Rails,gem,require,zsh和错误消息!由于与 “require”有关的问题,我无法加载我的应用

php - PHP意外的T_FUNCTION/construct问题?

python - python 中的错误处理程序

php - 解析错误: syntax error, unexpected '$' , expecting variable (T_VARIABLE) in/var/www/html/cdf/application/models/Appointment_model.php on line 17

ios - 处理多个推送通知时出错

java - 基于 Box2D 网格的碰撞

java - 关于多态性的简单介绍

java - JSF 过滤器无法正常工作