1 /* 2 File: TimeoutException.java 3 4 Originally written by Doug Lea and released into the public domain. 5 This may be used for any purposes whatsoever without acknowledgment. 6 Thanks for the assistance and support of Sun Microsystems Labs, 7 and everyone contributing, testing, and using this code. 8 9 History: 10 Date Who What 11 29Jun1998 dl Create public version 12 4Aug1998 dl Change to extend InterruptedException 13 */ 14 15 package org.logicalcobwebs.concurrent; 16 17 /** 18 * Thrown by synchronization classes that report 19 * timeouts via exceptions. The exception is treated 20 * as a form (subclass) of InterruptedException. This both 21 * simplifies handling, and conceptually reflects the fact that 22 * timed-out operations are artificially interrupted by timers. 23 **/ 24 25 public class TimeoutException extends InterruptedException { 26 27 /** 28 * The approximate time that the operation lasted before 29 * this timeout exception was thrown. 30 **/ 31 32 public final long duration; 33 34 /** 35 * Constructs a TimeoutException with given duration value. 36 **/ 37 public TimeoutException(long time) { 38 duration = time; 39 } 40 41 /** 42 * Constructs a TimeoutException with the 43 * specified duration value and detail message. 44 */ 45 public TimeoutException(long time, String message) { 46 super(message); 47 duration = time; 48 } 49 } 50