1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
/* * @(#)AssertionError.java 1.9 06/04/07 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.lang; /** * Thrown to indicate that an assertion has failed. * * <p>The seven one-argument public constructors provided by this * class ensure that the assertion error returned by the invocation: * <pre> * new AssertionError(<i>expression</i>) * </pre> * has as its detail message the <i>string conversion</i> of * <i>expression</i> (as defined in <a * href="http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html"> * <i>The Java Language Specification, Second Edition</i></a>, * <a href="http://java.sun.com/docs/books/jls/second_edition/html/expressions.doc.html#40220"> * Section 15.18.1.1</a>), regardless of the type of <i>expression</i>. * * @version 1.9, 04/07/06 * @since 1.4 */ public class AssertionError extends Error { /** * Constructs an AssertionError with no detail message. */ public AssertionError() { } /** * This internal constructor does no processing on its string argument, * even if it is a null reference. The public constructors will * never call this constructor with a null argument. */ private AssertionError(String detailMessage) { super(detailMessage); } /** * Constructs an AssertionError with its detail message derived * from the specified object, which is converted to a string as * defined in <i>The Java Language Specification, Second * Edition</i>, Section 15.18.1.1. *<p> * If the specified object is an instance of <tt>Throwable</tt>, it * becomes the <i>cause</i> of the newly constructed assertion error. * * @param detailMessage value to be used in constructing detail message * @see Throwable#getCause() */ public AssertionError(Object detailMessage) { this("" + detailMessage); if (detailMessage instanceof Throwable) initCause((Throwable) detailMessage); } /** * Constructs an AssertionError with its detail message derived * from the specified <code>boolean</code>, which is converted to * a string as defined in <i>The Java Language Specification, * Second Edition</i>, Section 15.18.1.1. * * @param detailMessage value to be used in constructing detail message */ public AssertionError(boolean detailMessage) { this("" + detailMessage); } /** * Constructs an AssertionError with its detail message derived * from the specified <code>char</code>, which is converted to a * string as defined in <i>The Java Language Specification, Second * Edition</i>, Section 15.18.1.1. * * @param detailMessage value to be used in constructing detail message */ public AssertionError(char detailMessage) { this("" + detailMessage); } /** * Constructs an AssertionError with its detail message derived * from the specified <code>int</code>, which is converted to a * string as defined in <i>The Java Language Specification, Second * Edition</i>, Section 15.18.1.1. * * @param detailMessage value to be used in constructing detail message */ public AssertionError(int detailMessage) { this("" + detailMessage); } /** * Constructs an AssertionError with its detail message derived * from the specified <code>long</code>, which is converted to a * string as defined in <i>The Java Language Specification, Second * Edition</i>, Section 15.18.1.1. * * @param detailMessage value to be used in constructing detail message */ public AssertionError(long detailMessage) { this("" + detailMessage); } /** * Constructs an AssertionError with its detail message derived * from the specified <code>float</code>, which is converted to a * string as defined in <i>The Java Language Specification, Second * Edition</i>, Section 15.18.1.1. * * @param detailMessage value to be used in constructing detail message */ public AssertionError(float detailMessage) { this("" + detailMessage); } /** * Constructs an AssertionError with its detail message derived * from the specified <code>double</code>, which is converted to a * string as defined in <i>The Java Language Specification, Second * Edition</i>, Section 15.18.1.1. * * @param detailMessage value to be used in constructing detail message */ public AssertionError(double detailMessage) { this("" + detailMessage); } }