相关疑难解决方法(0)

如何在Java中捕获AWT线程异常?

我们想在我们的应用程序日志中跟踪这些异常 - 默认情况下,Java只是将它们输出到控制台.

java swing exception-handling awt

18
推荐指数
2
解决办法
6122
查看次数

在Swing GUI中处理异常

我不确定如何管理GUI中的异常; 我的目标是让用户知道是否出现问题,显示可理解的消息.

我想做这样的事情:

// I'm inside an actionPerformed() method
try {
    // do whatever I have to do here
} catch (KnownBusinessException1 e) {
    // inform the user and do something;
    // most times simply inform the user that it wasn't possible to complete the
    // operation and remain in the same window instead of moving forward.
} catch (KnownBusinessException2 e) {
    // just as above
} catch (KnownDataAccessException1 e) {
    // just as above
} catch (KnownDataAccessException2 e) { …
Run Code Online (Sandbox Code Playgroud)

java swing exception-handling exception

6
推荐指数
2
解决办法
8157
查看次数

在AWT队列线程中调试异常

我正在开发一个Swing应用程序,其中包含执行自定义绘制的组件 当我在绘制代码中犯了一些错误并抛出异常时,情况很难调试.弹出窗口显示异常信息,而不是被调试器捕获.此外,线程似乎重新启动,并且由于编码错误的结果异常,它会一次又一次地显示.

当我很幸运地切换到调试器时(这很困难,因为越来越多的弹出窗口随着应用程序获取绘制请求而不断出现),调试控制台会向我显示异常信息,例如:

严重:线程中抛出未捕获的异常[AWT-EventQueue-0,6,main]

....堆栈如下

我的应用程序是用Scala编写的,我使用的是IntelliJ IDEA 14.我的未被捕获的主线程异常由调试器处理得很好(我已Uncaught exception启用Any exception断点启用Java Exception Breakpoints),但AWT线程中的异常不是.

我已经尝试过安装一个处理程序,如下所述我如何检测Java中全局抛出异常的时间?回答,但我的处理程序似乎没有被触发.

我想实现以下(按重要性顺序):

  1. 避免AWT线程在异常时重新启动,或者至少阻止弹出窗口显示
  2. 在调试器中处理未捕获的异常,而不是在控制台中打印

(注意:虽然这是Scala应用程序,但我认为Java的行为是相同的,因此Java标记).

java debugging scala awt intellij-idea

3
推荐指数
1
解决办法
1491
查看次数

EDT和运行时异常

如果某个方法从EDT线程调用未经检查的异常会发生什么?它是否会阻止GUI的响应性或什么?谢谢

java swing

2
推荐指数
1
解决办法
592
查看次数