using System;
namespace ChanSort;
public class LoaderException : Exception
{
public enum RecoveryMode { TryNext, Fail }
public RecoveryMode Recovery { get; }
private LoaderException(RecoveryMode recovery, string message, Exception inner) : base(message, inner)
{
Recovery = recovery;
}
///
/// In case the loader detects an unsupported file content (or knows another loader is responsible for loading it)
///
public static LoaderException TryNext(string message, Exception inner = null) => throw new LoaderException(RecoveryMode.TryNext, message, inner);
///
/// Stop all loading attempts for the file
///
public static LoaderException Fail(string message, Exception inner = null) => throw new LoaderException(RecoveryMode.Fail, message, inner);
}