Ulteriori informazioni sull'errore. Un esempio tipico è un'eccezione SQL in cui si desidera includere elementi quali la query che ha esito negativo, il codice di errore ANSI-SQL, il codice di errore specifico del fornitore, il messaggio di errore dal driver SQL, ecc. Altri esempi: nome dell'argomento per InvalidArgumentExceptions, HTTP codici di stato e messaggi per HttpExceptions, ID di controllo e valore per ValidationExceptions, ...
In effetti, la maggior parte delle eccezioni può (e dovrebbe) portare un po 'più di informazioni oltre a "qualcosa è andato storto".
Anche se normalmente dovresti evitare di presentare queste informazioni all'utente, è comunque di grande aiuto nell'esaminare file di log o simili. Immagina di avere una voce di registro che dice "SqlException: Column 'usernaem' does not exist. (Query: SELECT * FROM user WHERE username = :usernaem)"
invece di solo "SqlException"
...