1 package gnu.jemacs.buffer; 2 3 public class Signal extends RuntimeException 4 { 5 String name; 6 Object data; 7 8 public Signal(String name, Object data) 9 { 10 this.name = name; 11 this.data = data; 12 } 13 14 public static void signal(String name, Object data) 15 { 16 throw new Signal(name, data); 17 } 18 19 public static void signal(String name) 20 { 21 throw new Signal(name, null); 22 } 23 24 public static void error(Object data) 25 { 26 throw new Signal("error", data); 27 } 28 29 public static void message(String msg) 30 { 31 System.err.println(msg); 32 } 33 34 public String toString() 35 { 36 if (data == null) 37 return name; 38 else 39 return name+": "+data; 40 } 41 42 public static void checkQuit() 43 { 44 if (Thread.interrupted()) 45 throw new gnu.mapping.WrappedException(new InterruptedException ()); 46 } 47 } 48 | Popular Tags |