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 }