"Eccezione non gestita"
In .NET Framework, le eccezioni non gestite sono le eccezioni che non sono state gestite dall'applicazione stessa e provocano un arresto anomalo. Nel caso di un'applicazione desktop, significa che viene visualizzata una finestra simile a questa:
Perun'applicazioneweb,significaprincipalmenteunHTTP500.
Nelleeccezioninongestite,includoanchequellechesono"gestite globalmente", vale a dire, in un caso di applicazioni desktop, la gestione globale che consiste nel mostrare una finestra personalizzata al posto di quella predefinita di Windows.
Contesto
Quando lavoro come libero professionista, utilizzo la mia soluzione interna per raccogliere eccezioni non gestite da fonti diverse (app Web e app desktop). I risultati raccolti vengono quindi visualizzati su un pannello di monitoraggio in tempo reale e raccolti per analisi future (da collegare a un software di tracciamento dei bug, ecc.)
Attualmente, lavoro in un'azienda in cui non sarei in grado di utilizzare la mia soluzione interna per raccogliere le eccezioni (uno dei motivi è che non accetteranno di inviare tutti i messaggi di eccezione ai miei server) .
Questa azienda non ha una strategia precisa per la raccolta di eccezioni non gestite. L'unica soluzione che è stata utilizzata prima è al tempo stesso rudimentale e fuori questione: consiste nell'invio di ogni eccezione via e-mail.
Ciò significa che per il nuovo prodotto su cui sto lavorando, dovremmo sviluppare una strategia personalizzata per la raccolta di eccezioni non gestite.
Domanda
Posso sempre eseguire manualmente la parte che salverà le eccezioni nel database o nel registro e la parte che le caricherà dal database, da un registro o da Eventi di Windows.
Vorrei evitare di reinventare la ruota e usare qualcosa che è già comunemente usato.
Quali sono le mie scelte? In che modo le eccezioni non gestite vengono solitamente raccolte ed elaborate successivamente?
A proposito:
- Esistono librerie che aiutano a raccogliere tali eccezioni?
- Esistono prodotti software che consentono di analizzare tali eccezioni?