/*
Java Threads, 3rd Edition
By Scott Oaks, Henry Wong
3rd Edition September 2004
ISBN: 0-596-00782-5
*/
import java.util.*;
public class TestOverrideThread implements Runnable {
static class OverrideExceptionHandler implements Thread.UncaughtExceptionHandler {
public void uncaughtException(Thread t, Throwable e) {
alertAdministrator(e);
}
}
public static void alertAdministrator(Throwable e) {
// Use Java Mail to send the administrator's pager an email
System.out.println("Adminstrator alert!");
e.printStackTrace();
}
public static void main(String[] args) {
Thread t = new Thread(new TestOverrideThread());
t.setUncaughtExceptionHandler(new OverrideExceptionHandler());
System.out.println(t.getUncaughtExceptionHandler());
t.start();
}
public void run() {
ArrayList al = new ArrayList();
while (true) {
al.add(new byte[1024]);
}
}
}