Ciao, premetto che non sono certo un esperto di C#. Comunque provo a darti qualche altra informazione riferendomi a "Visual C# 2008" di john sharp.
"Throw" è un'istruzione relativa alla gestione di errori.
Se scrivi il codice all'interno di un blocco TRY, C# esegue ogni istruzione. Se si verifica una condizione di errore, l'esecuzione si interrompe e riprende in un altro blocco di codice progettato per rilevare l'eccezione e gestirla: il gestore CATCH.
Quando c'è l'eccezione l'esecuzione esamina i gestori catch per vedere se c'è corrispondenza tra l'eccezione che si è generata e quelle gestite da CATCH.
Le librerie di classi .net contengono molte classi di eccezione, la maggior parte delle volte queste descrivono la condizione che rapprensenta l'eccezione. In caso contrario , puoi creare tu la classe di eccezione. Puoi infine
generare tu un'eccezione attraverso l'istruzione THROW.
Dai un occhio qui
http://msdn.microsoft.com/it-it/library/system.argumentoutofrangeexception.aspxLa classe ArgumentOutOfRangeException è quella appropriata nel tuo caso. Tale classe è nello spazio dei nomi System, devi quindi avere l'istruzione USING.
Ciao
MArco