package pl.droidsonroids.gif; import android.support.annotation.NonNull; import java.io.IOException; /** * Exception encapsulating {@link GifError}s. * * @author koral-- */ public class GifIOException extends IOException { private static final long serialVersionUID = 13038402904505L; /** * Reason which caused an exception */ @NonNull public final GifError reason; private final String mErrnoMessage; @Override public String getMessage() { if (mErrnoMessage == null) { return reason.getFormattedDescription(); } return reason.getFormattedDescription() + ": " + mErrnoMessage; } private GifIOException(int errorCode, String errnoMessage) { reason = GifError.fromCode(errorCode); mErrnoMessage = errnoMessage; } static GifIOException fromCode(final int nativeErrorCode) { if (nativeErrorCode == GifError.NO_ERROR.errorCode) { return null; } return new GifIOException(nativeErrorCode, null); } }