001: /*
002: * Copyright 1994-2006 Sun Microsystems, Inc. All Rights Reserved.
003: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004: *
005: * This code is free software; you can redistribute it and/or modify it
006: * under the terms of the GNU General Public License version 2 only, as
007: * published by the Free Software Foundation. Sun designates this
008: * particular file as subject to the "Classpath" exception as provided
009: * by Sun in the LICENSE file that accompanied this code.
010: *
011: * This code is distributed in the hope that it will be useful, but WITHOUT
012: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014: * version 2 for more details (a copy is included in the LICENSE file that
015: * accompanied this code).
016: *
017: * You should have received a copy of the GNU General Public License version
018: * 2 along with this work; if not, write to the Free Software Foundation,
019: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020: *
021: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022: * CA 95054 USA or visit www.sun.com if you need additional information or
023: * have any questions.
024: */
025:
026: package java.io;
027:
028: /**
029: * Signals that an I/O exception of some sort has occurred. This
030: * class is the general class of exceptions produced by failed or
031: * interrupted I/O operations.
032: *
033: * @author unascribed
034: * @version 1.30, 05/05/07
035: * @see java.io.InputStream
036: * @see java.io.OutputStream
037: * @since JDK1.0
038: */
039: public class IOException extends Exception {
040: static final long serialVersionUID = 7818375828146090155L;
041:
042: /**
043: * Constructs an {@code IOException} with {@code null}
044: * as its error detail message.
045: */
046: public IOException() {
047: super ();
048: }
049:
050: /**
051: * Constructs an {@code IOException} with the specified detail message.
052: *
053: * @param message
054: * The detail message (which is saved for later retrieval
055: * by the {@link #getMessage()} method)
056: */
057: public IOException(String message) {
058: super (message);
059: }
060:
061: /**
062: * Constructs an {@code IOException} with the specified detail message
063: * and cause.
064: *
065: * <p> Note that the detail message associated with {@code cause} is
066: * <i>not</i> automatically incorporated into this exception's detail
067: * message.
068: *
069: * @param message
070: * The detail message (which is saved for later retrieval
071: * by the {@link #getMessage()} method)
072: *
073: * @param cause
074: * The cause (which is saved for later retrieval by the
075: * {@link #getCause()} method). (A null value is permitted,
076: * and indicates that the cause is nonexistent or unknown.)
077: *
078: * @since 1.6
079: */
080: public IOException(String message, Throwable cause) {
081: super (message, cause);
082: }
083:
084: /**
085: * Constructs an {@code IOException} with the specified cause and a
086: * detail message of {@code (cause==null ? null : cause.toString())}
087: * (which typically contains the class and detail message of {@code cause}).
088: * This constructor is useful for IO exceptions that are little more
089: * than wrappers for other throwables.
090: *
091: * @param cause
092: * The cause (which is saved for later retrieval by the
093: * {@link #getCause()} method). (A null value is permitted,
094: * and indicates that the cause is nonexistent or unknown.)
095: *
096: * @since 1.6
097: */
098: public IOException(Throwable cause) {
099: super(cause);
100: }
101: }
|