Con "reale" intendo eccezioni che funzionerebbero come quelle predefinite dal sistema.
Intendo dire che per un'eccezione personalizzata devi utilizzare la parola riservata throw CustomException dopo aver controllato la condizione che potrebbe causare l'eccezione, ma se hai fatto che non c'è bisogno di lanciare l'Exception, puoi lavorare su cosa sta causando l'eccezione sullo stesso blocco if.
Ma per quanto ne so non c'è modo di farlo, ad esempio in C # e in Java qualcosa del genere:
Supponiamo che un'eccezione personalizzata debba essere attivata ogni volta che l'utente immette una stringa che contiene uno "0", quindi nella classe che definisce l'eccezione dovrebbe esserci un metodo che potrebbe essere qualcosa del tipo:
void WayOfActingIfAConditionHappens (Condition thatCondition)
Quindi, automaticamente ogni volta che si verifica Condizione, l'Eccezione viene generata come un'eccezione predefinita, a condizione che provi a catturare il blocco.
Voglio dire ora invece di controllare le condizioni e lanciare l'Eccezione potresti lavorare in questo modo:
try
{
... (Code without throws MyException)
}
catch (MyException ex)
{
...
}
In questo modo invece di dover controllare ogni cosa che l'utente inserisce, puoi semplicemente lasciare che il catch catch provi a fare il lavoro.
Quali sono le ragioni per non aver implementato qualcosa del genere? Sarebbe troppo difficile da fare?