ArgumentOutOfRangeException - Quello che stai descrivendo è in linea con un'eccezione di gamma.?:
L'eccezione che viene generata quando il valore di un arg ument è al di fuori dell'intervallo consentito di valori definito come dal metodo richiamato.
ArgumentException viene utilizzato per convalidare i caratteri nella stringa di percorso non il tipo di file.
Il parametro path è un stringa di lunghezza zero, contiene solo spazi vuoti, o contiene uno o più validi caratteri.
IMHO la tabella di caduta-through convalida del percorso è simile al seguente:
Se questo non è abbastanza descrittivo per voi quindi creare la propria classe eccezione :
public class InvalidFileTypeException : System.IO.IOException
{
public InvalidFileTypeException(string path, string acceptedTypeMask)
{
this.Message = string.Format(
"File type '{0}' does not fall within the expected range: '{1}'",
path,
acceptedTypeMask);
}
}
...
throw new InvalidFileTypeException("foo.txt", "*.csv");
Cosa succede se un utente ha un file '* .txt' in formato valori separati da virgole? Per un'applicazione arbitraria, il * comportamento previsto * in questo caso sta consentendo una selezione esplicita del file tramite il filtro "Tutti i file" in "FileDialog" o un nome file completo con estensione. –