Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/src/share/classes/java/lang/AssertionError.java
38829 views
1
/*
2
* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
package java.lang;
27
28
/**
29
* Thrown to indicate that an assertion has failed.
30
*
31
* <p>The seven one-argument public constructors provided by this
32
* class ensure that the assertion error returned by the invocation:
33
* <pre>
34
* new AssertionError(<i>expression</i>)
35
* </pre>
36
* has as its detail message the <i>string conversion</i> of
37
* <i>expression</i> (as defined in section 15.18.1.1 of
38
* <cite>The Java&trade; Language Specification</cite>),
39
* regardless of the type of <i>expression</i>.
40
*
41
* @since 1.4
42
*/
43
public class AssertionError extends Error {
44
private static final long serialVersionUID = -5013299493970297370L;
45
46
/**
47
* Constructs an AssertionError with no detail message.
48
*/
49
public AssertionError() {
50
}
51
52
/**
53
* This internal constructor does no processing on its string argument,
54
* even if it is a null reference. The public constructors will
55
* never call this constructor with a null argument.
56
*/
57
private AssertionError(String detailMessage) {
58
super(detailMessage);
59
}
60
61
/**
62
* Constructs an AssertionError with its detail message derived
63
* from the specified object, which is converted to a string as
64
* defined in section 15.18.1.1 of
65
* <cite>The Java&trade; Language Specification</cite>.
66
*<p>
67
* If the specified object is an instance of {@code Throwable}, it
68
* becomes the <i>cause</i> of the newly constructed assertion error.
69
*
70
* @param detailMessage value to be used in constructing detail message
71
* @see Throwable#getCause()
72
*/
73
public AssertionError(Object detailMessage) {
74
this(String.valueOf(detailMessage));
75
if (detailMessage instanceof Throwable)
76
initCause((Throwable) detailMessage);
77
}
78
79
/**
80
* Constructs an AssertionError with its detail message derived
81
* from the specified <code>boolean</code>, which is converted to
82
* a string as defined in section 15.18.1.1 of
83
* <cite>The Java&trade; Language Specification</cite>.
84
*
85
* @param detailMessage value to be used in constructing detail message
86
*/
87
public AssertionError(boolean detailMessage) {
88
this(String.valueOf(detailMessage));
89
}
90
91
/**
92
* Constructs an AssertionError with its detail message derived
93
* from the specified <code>char</code>, which is converted to a
94
* string as defined in section 15.18.1.1 of
95
* <cite>The Java&trade; Language Specification</cite>.
96
*
97
* @param detailMessage value to be used in constructing detail message
98
*/
99
public AssertionError(char detailMessage) {
100
this(String.valueOf(detailMessage));
101
}
102
103
/**
104
* Constructs an AssertionError with its detail message derived
105
* from the specified <code>int</code>, which is converted to a
106
* string as defined in section 15.18.1.1 of
107
* <cite>The Java&trade; Language Specification</cite>.
108
*
109
* @param detailMessage value to be used in constructing detail message
110
*/
111
public AssertionError(int detailMessage) {
112
this(String.valueOf(detailMessage));
113
}
114
115
/**
116
* Constructs an AssertionError with its detail message derived
117
* from the specified <code>long</code>, which is converted to a
118
* string as defined in section 15.18.1.1 of
119
* <cite>The Java&trade; Language Specification</cite>.
120
*
121
* @param detailMessage value to be used in constructing detail message
122
*/
123
public AssertionError(long detailMessage) {
124
this(String.valueOf(detailMessage));
125
}
126
127
/**
128
* Constructs an AssertionError with its detail message derived
129
* from the specified <code>float</code>, which is converted to a
130
* string as defined in section 15.18.1.1 of
131
* <cite>The Java&trade; Language Specification</cite>.
132
*
133
* @param detailMessage value to be used in constructing detail message
134
*/
135
public AssertionError(float detailMessage) {
136
this(String.valueOf(detailMessage));
137
}
138
139
/**
140
* Constructs an AssertionError with its detail message derived
141
* from the specified <code>double</code>, which is converted to a
142
* string as defined in section 15.18.1.1 of
143
* <cite>The Java&trade; Language Specification</cite>.
144
*
145
* @param detailMessage value to be used in constructing detail message
146
*/
147
public AssertionError(double detailMessage) {
148
this(String.valueOf(detailMessage));
149
}
150
151
/**
152
* Constructs a new {@code AssertionError} with the specified
153
* detail message and cause.
154
*
155
* <p>Note that the detail message associated with
156
* {@code cause} is <i>not</i> automatically incorporated in
157
* this error's detail message.
158
*
159
* @param message the detail message, may be {@code null}
160
* @param cause the cause, may be {@code null}
161
*
162
* @since 1.7
163
*/
164
public AssertionError(String message, Throwable cause) {
165
super(message, cause);
166
}
167
}
168
169