`
carlkkx
  • 浏览: 16526 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

如何在某个顶层方便的捕获事件线程抛出的异常

 
阅读更多
    有一次看.NET平台的WinForm发现其有提供捕捉这样异常的方法,升至它有默认的异常处理。
但是在Swing中,如果某事件处理函数抛出了一个异常,很可能导致事件线程挂掉,这时候界面点击无反应,
软件甚至要通过强行关闭才能退出。如果在某顶层做一个最后防御,这样哪个事件处理模块如果抛出未处理异常,
也不至于程序莫名的挂掉,顶多输出一个信息告知用户系统错误,我要挂了,然后退出。
但是我找了一下不知Swing在什么地方可以捕获异常。不知道大家是如何处理这个问题的。
分享到:
评论

相关推荐

    dotnet 警惕 async void 线程顶层异常.rar

    使用`async void`的一个主要风险是,如果在该方法中抛出未捕获的异常,它们将直接导致应用程序崩溃,因为没有地方可以捕获这些异常。这对于非事件处理程序的异步方法来说是一个问题,因为它使得错误处理变得困难。 ...

    Java基础常见英语词汇

    52. **Catch**: 捕捉,try-catch语句中的关键字,用于捕获并处理try块中抛出的异常。 53. **Finally**: 最后,try-finally语句中的关键字,用于确保无论是否发生异常,某些代码都会被执行。 54. **Throw**: 抛出,...

    中兴通讯Java面试题.doc

    - **自定义异常**:开发者可以根据需要定义自己的异常类,并在适当的时机抛出这些异常。 - **异常处理流程**:Java中的异常处理主要包括以下几个步骤: - **抛出异常**:当程序中出现异常情况时,可以通过`throw`...

    2011最新整理JAVA、C、C++常见面试题汇总

    当程序中发生异常时,会生成一个异常对象并沿调用栈向上抛出,直到找到合适的catch块处理或者到达顶层,如果没有捕获,则程序终止。异常分为检查性异常(如IOException)和运行时异常(如NullPointerException)。 ...

    JAVA期末考试试卷及答案(同名21540).doc

    - **方法声明异常**: 如果一个方法可能抛出检查性异常,那么在方法声明时必须使用`throws`关键字来声明该异常。例如:`public void someMethod() throws IOException {}` 以上是基于题目描述中提到的知识点进行的...

    java全集.pdf JAVA全集

    - 可以通过throws关键字声明可能抛出的异常。 **8.4 捕捉多个异常** - 在一个catch块中可以捕获多个异常类型。 **8.5 finally声明** - finally块总是在try-catch之后执行,即使发生了异常也会执行finally块中的...

    Java面试题及答案整理(2022最新版) 持续更新

    其特点是安全,当试图修改正在遍历的集合时,会抛出`ConcurrentModificationException`异常。 5. **引用类型与对象存活**:不同类型的引用(强引用、软引用、弱引用、虚引用)对对象的生命周期有不同的影响。弱引用...

    java试卷(20211008101135).pdf

    12. 异常处理:当方法可能抛出异常但不处理时,应在方法声明中使用throws关键字来声明可能抛出的异常。 13. Java默认异常处理:Java默认的异常处理方式是显示异常信息并停止程序执行,除非使用try-catch-finally...

    2011最新华为JAVA面试笔试题

    - `finally`:在异常处理中用于确保一段代码无论是否发生异常都会被执行,常用于释放资源。 - `finalize`:是`Object`类中的一个方法,允许对象在被垃圾回收前进行一些资源清理工作,但不建议依赖,现代Java推荐使用...

    张孝祥老师总结的java面试题

    - **try**:定义可能抛出异常的代码块。 - **catch**:捕获异常,并进行相应的处理。 - **finally**:无论是否发生异常,finally块中的代码都将被执行,通常用于释放资源。 综上所述,Java面试题通常会覆盖内存管理...

    非常详细的2023java面试题

    - **throw/throws**:throw用于抛出异常,throws用于声明方法可能抛出的异常。 - **自定义异常**:通过继承Exception或RuntimeException类创建。 ### 集合框架 #### 1. Collection接口 - **List**:有序、可重复的...

    java面试之吸星大法

    - `finally`: 在异常处理中使用,确保无论是否发生异常,都会执行的代码块,常用于资源清理。 - `finalize`: 方法名,由垃圾回收器调用,用于对象被回收前的最后清理工作,但其调用是不确定的,不推荐依赖。 综上所...

    Java语音学习,基础教程

    要学会如何声明异常、抛出异常(throw)以及使用try-catch-finally块捕获和处理异常。自定义异常是通过创建新的异常类来扩展Exception类或其子类。 多线程是Java的一个强大特性。线程是程序中的执行流,理解线程的...

    《面向对象编程和JAVA语言》 期末试题.doc

    try块中包含可能抛出异常的代码,catch块用于捕获并处理特定类型的异常,finally块确保程序在任何情况下都能执行必要的清理操作。 1-11、Java GUI程序设计中的五种布局管理器分别是FlowLayout、BorderLayout、...

    Java程序员笔试题

    - **抛出异常:** 使用 `throw` 关键字抛出异常。 **9. GUI编程** - **布局管理器:** 如 `FlowLayout`、`BorderLayout`、`GridBagLayout`。 - **事件处理:** 通过监听器模式处理用户的输入事件。 **10. 数据库...

    java程序员面试题及解答.pdf,这是一份不错的文件

    如果条件不满足,程序会停止执行并抛出 AssertionError。 8. GC (Garbage Collector):Java 中的垃圾回收机制,自动管理内存,回收不再使用的对象所占用的内存空间,防止内存泄漏。 9. String 对象创建:`String s...

    2021-2022计算机二级等级考试试题及答案No.13994.docx

    10. 方法声明抛出异常:在Java中,`sleep()`方法声明抛出InterruptedException,通常需要在调用时捕获或声明该异常。 11. Java 保留字:`default`和`then`不是Java的保留字,而`case`, `for`, `int`, `while`是Java...

    java习题集及答案.pdf

    6. **异常处理**:`throws`关键字用于在方法声明中抛出异常,而`catch`和`finally`是用于处理异常的块,`import`则与导入类和包有关,与异常处理无关。 7. **类的修饰符**:`public`、`protected`和`private`是访问...

Global site tag (gtag.js) - Google Analytics