Sono attualmente in un tentativo di cattura trovare se una proprietà è stata impostata correttamente per il valore booleano che dovrebbe essere simile a questo ...C# che tipo di eccezione dovrei aumentare?
public void RunBusinessRule(MyCustomType customType)
{
try
{
if (customType.CustomBoolProperty == true)
{
DoSomething();
}
else
{
throw new Exception("This is obviously false or possibly null lets throw up an error.");
}
}
catch(Exception)
{
throw;
}
}
Ora l'accordo con gettando questo errore per me è che io sono utilizzando l'analisi di origine di Microsoft e mi viene visualizzato un messaggio di errore "CA2201: Microsoft.Usage: Object.RunBusinessRule (MyCustomType) crea un'eccezione di tipo 'Exception', un tipo di eccezione che non è sufficientemente specifico e non dovrebbe mai essere generato dal codice utente. Se questa eccezione può essere lanciata, utilizzare un diverso tipo di eccezione
Soooo Quale eccezione dovrei buttare che sarebbe abbastanza specifica per Microsoft .., per la circostanza di lanciare un errore sulla gestione della logica della mia applicazione e quando voglio "lanciare".
'InvalidOperationException' è *" L'eccezione che viene generata quando una chiamata al metodo non è valida per lo stato corrente dell'oggetto. "*, Ovvero i campi della classe, non i parametri. – brianary