1/*
2 * Copyright (c) 1994, 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
26package java.lang;
27
28/**
29 * Thrown when an application attempts to use {@code null} in a
30 * case where an object is required. These include:
31 * <ul>
32 * <li>Calling the instance method of a {@code null} object.
33 * <li>Accessing or modifying the field of a {@code null} object.
34 * <li>Taking the length of {@code null} as if it were an array.
35 * <li>Accessing or modifying the slots of {@code null} as if it
36 *     were an array.
37 * <li>Throwing {@code null} as if it were a {@code Throwable}
38 *     value.
39 * </ul>
40 * <p>
41 * Applications should throw instances of this class to indicate
42 * other illegal uses of the {@code null} object.
43 *
44 * {@code NullPointerException} objects may be constructed by the
45 * virtual machine as if {@linkplain Throwable#Throwable(String,
46 * Throwable, boolean, boolean) suppression were disabled and/or the
47 * stack trace was not writable}.
48 *
49 * @author  unascribed
50 * @since   JDK1.0
51 */
52public
53class NullPointerException extends RuntimeException {
54    private static final long serialVersionUID = 5162710183389028792L;
55
56    /**
57     * Constructs a {@code NullPointerException} with no detail message.
58     */
59    public NullPointerException() {
60        super();
61    }
62
63    /**
64     * Constructs a {@code NullPointerException} with the specified
65     * detail message.
66     *
67     * @param   s   the detail message.
68     */
69    public NullPointerException(String s) {
70        super(s);
71    }
72}
73