java - 如何在 Java 中模拟未处理的异常

标签 java multithreading exception

我正在创建一些多线程代码,并且我已经创建了一个创建线程的 JobDispatcher 类。我希望这个对象处理工作线程中任何未处理的异常,所以我正在使用

Thread.setUncaughtExceptionHandler(this);

现在,我想测试这个功能 - 如何在我的工作对象的 run() 方法中生成未处理的异常?

最佳答案

抛出任何异常。

例如:

throw new RuntimeException("Testing unhandled exception processing.");

完成:

public class RuntimeTest
{
  public static void main(String[] a)
  {
    Thread t = new Thread()
    {
      public void run()
      {
        throw new RuntimeException("Testing unhandled exception processing.");
      }
    };
    t.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler()
    {
      public void uncaughtException(Thread t, Throwable e)
      {
        System.err.println(t + "; " + e);
      }
    });
    t.start();
  }
}

关于java - 如何在 Java 中模拟未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3041345/

相关文章:

java - 一个 JDBC 连接中可以有两个并发事务吗?

java - Spring 数据 JPA : How can Query return Non- Entities Objects or List of Objects?

multithreading - 我们真的需要运行所有这 1000 个线程吗?

json - Play 框架 - JSON 序列化循环引用(例如 Files->User, User->Files)--> Stackoverflow

java - “无法通过外部浏览器访问 URL。”在部署 RESTful Web 服务时

java - HashSet、Vector、LinkedList 的最大大小

multithreading - 线程卡在 UIComponent.popComponentFromEL 处

c# - 如何正确停止正在使用 Control.Invoke 的线程

php - 如何正确捕获 PHP 异常 (Laravel 5.1)

c# - 删除空文件夹并重新创建后出现 System.IO.DirectoryNotFoundException