001 package org.codehaus.groovy.syntax;
002
003 import org.codehaus.groovy.GroovyException;
004
005 import java.io.IOException;
006
007 /**
008 * Encapsulates non-specific i/o exceptions.
009 */
010
011 public class ReadException extends GroovyException {
012 private IOException cause = null;
013
014 public ReadException(IOException cause) {
015 super();
016 this.cause = cause;
017 }
018
019 public ReadException(String message, IOException cause) {
020 super(message);
021 this.cause = cause;
022 }
023
024 public IOException getIOCause() {
025 return this.cause;
026 }
027
028 public String toString() {
029 String message = super.getMessage();
030 if (message == null || message.trim().equals("")) {
031 message = cause.getMessage();
032 }
033
034 return message;
035 }
036
037 public String getMessage() {
038 return toString();
039 }
040 }