Throw domain exception instead of IOExceptions