Quando un'eccezione viene ignorata in un'app .NET, la macchina virtuale visualizza un messaggio di errore per l'utente. Mi piacerebbe essere in grado di visualizzare il mio messaggio di errore, senza dover mettere un blocco catch
al livello più alto della mia app (perché questo rende il debugging delle eccezioni non rilevate più noiose).Come posso sovrascrivere la finestra di dialogo delle eccezioni non rilevate di default?
In questo momento visualizzo la mia finestra di dialogo di errore in un listener di eventi AppDomain.UnhandledException
, ma la finestra di dialogo creata con .NET viene comunque visualizzata. Mi piacerebbe anche evitare Environment.FailFast
in quanto ciò ignorerebbe i miei blocchi finally
(a cui sono ancora un po 'collegato).
Questa è una caratteristica del JIT. Non sono sicuro che ci sia un modo per modificarlo ... –
Probabilmente creerei una variabile di configurazione modalità di sviluppo/modalità di produzione per passare dalla visualizzazione alla finestra di dialogo (e alla cattura) nel livello principale e non alla visualizzazione. È anche una buona idea in generale per il debug ... –
È sicuramente possibile, ho ricordato che Red Gate ha fatto qualcosa in questo campo. Vedere questo [immagine] (http://www.red-gate.com/products/dotnet-development/smartassembly/assets/images/error_reporting_dialog.png) e il prodotto correlato [pagina] (http: //www.red- gate.com/products/dotnet-development/smartassembly/learn-more/screenshots). Non sono sicuro che abbiano una versione gratuita, ma hanno fatto questo, quindi deve esserci un modo! – oleksii