History

My first initial commit with all of mine experimental changes.

Dmitry Kabak (userdima committed 13 years ago

Commit d37b88d1 parent 3f5b46618352 files · +2598093 −-8690Browse files

Showing the changes to java/pkg/java/lang/reflect/UndeclaredThrowableException.java (1 of 18352 files). Show all

Unified · Split

java/pkg/java/lang/reflect/UndeclaredThrowableException.java+119−0
@@ -0,0 +1,119 @@
1+/*
2+ * Copyright (c) 1999, 2006, 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.reflect;
27+
28+/**
29+ * Thrown by a method invocation on a proxy instance if its invocation
30+ * handler's {@link InvocationHandler#invoke invoke} method throws a
31+ * checked exception (a {@code Throwable} that is not assignable
32+ * to {@code RuntimeException} or {@code Error}) that
33+ * is not assignable to any of the exception types declared in the
34+ * {@code throws} clause of the method that was invoked on the
35+ * proxy instance and dispatched to the invocation handler.
36+ *
37+ * <p>An {@code UndeclaredThrowableException} instance contains
38+ * the undeclared checked exception that was thrown by the invocation
39+ * handler, and it can be retrieved with the
40+ * {@code getUndeclaredThrowable()} method.
41+ * {@code UndeclaredThrowableException} extends
42+ * {@code RuntimeException}, so it is an unchecked exception
43+ * that wraps a checked exception.
44+ *
45+ * <p>As of release 1.4, this exception has been retrofitted to
46+ * conform to the general purpose exception-chaining mechanism. The
47+ * "undeclared checked exception that was thrown by the invocation
48+ * handler" that may be provided at construction time and accessed via
49+ * the {@link #getUndeclaredThrowable()} method is now known as the
50+ * <i>cause</i>, and may be accessed via the {@link
51+ * Throwable#getCause()} method, as well as the aforementioned "legacy
52+ * method."
53+ *
54+ * @author Peter Jones
55+ * @see InvocationHandler
56+ * @since 1.3
57+ */
58+public class UndeclaredThrowableException extends RuntimeException {
59+ static final long serialVersionUID = 330127114055056639L;
60+
61+ /**
62+ * the undeclared checked exception that was thrown
63+ * @serial
64+ */
65+ private Throwable undeclaredThrowable;
66+
67+ /**
68+ * Constructs an {@code UndeclaredThrowableException} with the
69+ * specified {@code Throwable}.
70+ *
71+ * @param undeclaredThrowable the undeclared checked exception
72+ * that was thrown
73+ */
74+ public UndeclaredThrowableException(Throwable undeclaredThrowable) {
75+ super((Throwable) null); // Disallow initCause
76+ this.undeclaredThrowable = undeclaredThrowable;
77+ }
78+
79+ /**
80+ * Constructs an {@code UndeclaredThrowableException} with the
81+ * specified {@code Throwable} and a detail message.
82+ *
83+ * @param undeclaredThrowable the undeclared checked exception
84+ * that was thrown
85+ * @param s the detail message
86+ */
87+ public UndeclaredThrowableException(Throwable undeclaredThrowable,
88+ String s)
89+ {
90+ super(s, null); // Disallow initCause
91+ this.undeclaredThrowable = undeclaredThrowable;
92+ }
93+
94+ /**
95+ * Returns the {@code Throwable} instance wrapped in this
96+ * {@code UndeclaredThrowableException}, which may be {@code null}.
97+ *
98+ * <p>This method predates the general-purpose exception chaining facility.
99+ * The {@link Throwable#getCause()} method is now the preferred means of
100+ * obtaining this information.
101+ *
102+ * @return the undeclared checked exception that was thrown
103+ */
104+ public Throwable getUndeclaredThrowable() {
105+ return undeclaredThrowable;
106+ }
107+
108+ /**
109+ * Returns the cause of this exception (the {@code Throwable}
110+ * instance wrapped in this {@code UndeclaredThrowableException},
111+ * which may be {@code null}).
112+ *
113+ * @return the cause of this exception.
114+ * @since 1.4
115+ */
116+ public Throwable getCause() {
117+ return undeclaredThrowable;
118+ }
119+}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t