diff options
Diffstat (limited to 'sources/meta/util/AbstractMain.java')
-rw-r--r-- | sources/meta/util/AbstractMain.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/sources/meta/util/AbstractMain.java b/sources/meta/util/AbstractMain.java new file mode 100644 index 0000000000..b7a3e190ff --- /dev/null +++ b/sources/meta/util/AbstractMain.java @@ -0,0 +1,38 @@ +/* ____ ____ ____ ____ ______ *\ +** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** +** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** +** /_____/\____/\___/\____/____/ ** +\* */ + +// $Id$ + +package meta.util; + +/** A base class for Java programs. */ +public abstract class AbstractMain { + + //######################################################################## + // Public Functions + + public static String script() { + StackTraceElement[] stack = new Throwable().getStackTrace(); + return stack[stack.length - 1].getClassName(); + } + + public static Error abort() { + System.exit(1); + throw new Error("abort"); + } + + public static Error abort(String error) { + System.err.println(script() + ": " + error); + System.exit(1); + throw new Error(); + } + + public static Error abort(Exception exception) { + return abort("caught exception " + exception.toString()); + } + + //######################################################################## +} |