SHARE
TWEET
Untitled
a guest
Jan 29th, 2018
59
in 6 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- import java.util.concurrent.ExecutorService;
- import java.util.concurrent.Executors;
- import java.util.concurrent.ThreadFactory;
- class ExceptionThread2 implements Runnable {
- public void run() {
- Thread t = Thread.currentThread();
- System.out.println("run() by " + t);
- System.out.println("eh = " + t.getUncaughtExceptionHandler());
- throw new RuntimeException();
- }
- }
- class MyUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
- public void uncaughtException(Thread t, Throwable e) {
- System.out.println(t + " caught " + e);
- }
- }
- class HandlerThreadFactory implements ThreadFactory {
- public Thread newThread(Runnable r) {
- System.out.println(this + " creating new Thread");
- Thread t = new Thread(r);
- System.out.println("created " + t);
- t.setUncaughtExceptionHandler(new MyUncaughtExceptionHandler());
- System.out.println("eh = " + t.getUncaughtExceptionHandler());
- return t;
- }
- }
- public class CaptureUncaughtException {
- public static void main(String[] args) {
- ExecutorService exec = Executors.newCachedThreadPool(
- new HandlerThreadFactory());
- exec.execute(new ExceptionThread2());
- }
- }
RAW Paste Data

