diff options
author | Bernard Normier <bernard@zeroc.com> | 2008-01-09 18:58:07 -0500 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2008-01-09 18:58:07 -0500 |
commit | 64494197795f06cd0cdf8fba3eea787efed5e78d (patch) | |
tree | 43b8de118b1ad8cffc8307458afc76b86b6c82b5 /java/src/IceUtilInternal/Assert.java | |
parent | Removed IceUtilInternal calls from demos (diff) | |
download | ice-64494197795f06cd0cdf8fba3eea787efed5e78d.tar.bz2 ice-64494197795f06cd0cdf8fba3eea787efed5e78d.tar.xz ice-64494197795f06cd0cdf8fba3eea787efed5e78d.zip |
Moved various classes from IceUtil to IceUtilInternal
Diffstat (limited to 'java/src/IceUtilInternal/Assert.java')
-rw-r--r-- | java/src/IceUtilInternal/Assert.java | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/java/src/IceUtilInternal/Assert.java b/java/src/IceUtilInternal/Assert.java new file mode 100644 index 00000000000..f53410a63de --- /dev/null +++ b/java/src/IceUtilInternal/Assert.java @@ -0,0 +1,45 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +package IceUtilInternal; + +public final class Assert +{ + // + // The JVM ignores exceptions raised in finalizers, therefore finalizers + // that use assertions should call this method instead of assert(). + // + public static void + FinalizerAssert(boolean b) + { + if(!b) + { + // + // Create a Throwable to obtain the stack trace. + // + Throwable t = new Throwable(); + StackTraceElement[] trace = t.getStackTrace(); + if(trace.length > 1) + { + // + // Skip the first frame, which represents this method. + // + System.err.println("Assertion failure:"); + for(int i = 1; i < trace.length; ++i) + { + System.err.println("\tat " + trace[i]); + } + } + else + { + System.err.println("Assertion failure (no stack trace information)"); + } + } + } +} |