gpt4 book ai didi

Java SWT : Wrap main loop in exception handler?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:15:15 26 4
gpt4 key购买 nike

您可能知道,标准的 SWT 主循环如下所示:

Display display = new Display();
Shell shell = new Shell(display);
...
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();

最近,我与一位同事争论将主循环包装在 try-catch 中是否有意义,如下所示:

Display display = new Display();
Shell shell = new Shell(display);
...
shell.open();
while (!shell.isDisposed()) {
try {
if (!display.readAndDispatch()) {
display.sleep();
}
} catch (RuntimeException e) {
// TODO Implement exception handler
}
}
display.dispose();

我的同事说这样做,如果 GUI 线程发生崩溃,您不必立即关闭应用程序,因此用户可能有机会在关闭程序之前保存他的数据。

那么,你怎么看?这样做有意义吗?

最佳答案

这样做是一种很好的风格,因为任何异常都可能发生在您的 GUI 代码中。我们在这个位置有一个通用的 BugReport 发送器,我喜欢它,因为不会丢失任何东西,并且应用程序在错误报告后继续工作(主要是 ;))。

关于Java SWT : Wrap main loop in exception handler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4843373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com