14fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy/* 24fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Licensed to the Apache Software Foundation (ASF) under one or more 34fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * contributor license agreements. See the NOTICE file distributed with 44fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * this work for additional information regarding copyright ownership. 54fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * The ASF licenses this file to You under the Apache License, Version 2.0 64fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * (the "License"); you may not use this file except in compliance with 74fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * the License. You may obtain a copy of the License at 84fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 94fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * http://www.apache.org/licenses/LICENSE-2.0 104fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 114fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Unless required by applicable law or agreed to in writing, software 124fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * distributed under the License is distributed on an "AS IS" BASIS, 134fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 144fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * See the License for the specific language governing permissions and 154fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * limitations under the License. 164fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 174fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 184fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedypackage org.apache.commons.io; 194fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 204fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedyimport java.io.IOException; 214fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 224fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy/** 234fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Subclasses IOException with the {@link Throwable} constructors missing before Java 6. If you are using Java 6, 244fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * consider this class deprecated and use {@link IOException}. 254fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 264fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @author <a href="http://commons.apache.org/io/">Apache Commons IO</a> 274fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @version $Id$ 284fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @since Commons IO 1.4 294fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 304fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedypublic class IOExceptionWithCause extends IOException { 314fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 324fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 334fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Defines the serial version UID. 344fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 354fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy private static final long serialVersionUID = 1L; 364fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 374fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 384fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Constructs a new instance with the given message and cause. 394fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * <p> 404fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * As specified in {@link Throwable}, the message in the given <code>cause</code> is not used in this instance's 414fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * message. 424fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * </p> 434fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 444fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @param message 454fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * the message (see {@link #getMessage()}) 464fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @param cause 474fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * the cause (see {@link #getCause()}). A <code>null</code> value is allowed. 484fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 494fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public IOExceptionWithCause(String message, Throwable cause) { 504fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy super(message); 514fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy this.initCause(cause); 524fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 534fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 544fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy /** 554fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Constructs a new instance with the given cause. 564fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * <p> 574fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * The message is set to <code>cause==null ? null : cause.toString()</code>, which by default contains the class 584fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * and message of <code>cause</code>. This constructor is useful for call sites that just wrap another throwable. 594fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * </p> 604fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 614fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * @param cause 624fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * the cause (see {@link #getCause()}). A <code>null</code> value is allowed. 634fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy */ 644fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy public IOExceptionWithCause(Throwable cause) { 654fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy super(cause == null ? null : cause.toString()); 664fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy this.initCause(cause); 674fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy } 684fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy 694fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy} 70