A volte si verificano eccezioni. Quando lo fanno, vengono registrati e successivamente analizzati. Il log ovviamente contiene lo stack-trace e altre informazioni globali, ma spesso manca il contesto cruciale. Mi piacerebbe annotare un'eccezione con queste informazioni extra per facilitare il debug post-mortem.Annotazione delle eccezioni con informazioni aggiuntive senza intercettarle
- Io non voglio
try{...}catch{... throw;}
dal momento che conta come la cattura un'eccezione e che rende più difficile il debug (durante lo sviluppo mi piacerebbe l'applicazione di fermarsi e il debugger di reagire quando viene generata l'eccezione originale, e non quando l'eccezione non bersagliata più esterna è). I gestori di eccezioni della prima possibilità non sono una soluzione poiché ci sono purtroppo troppi falsi positivi. - Vorrei evitare un sovraccarico eccessivo nel caso normale e non eccezionale.
C'è un modo per archiviare parti chiave del contesto (ad esempio il nome del file elaborato o qualsiasi altra cosa) in un'eccezione in un modo che non cattura l'eccezione?
Interessante. Hai pensato di avvolgere il 'try {' e '} catch {... throw;}' in '#if! DEBUG'. In dev avresti ottenuto l'eccezione originale dal sito di chiamata originale. –
Come utilizzare il metodo try {..} catch {.. throw;}, ma modificare le opzioni di Visual Studio da interrompere quando viene generata un'eccezione CLR. – Simon
Sembra una buona misura per AOP come PostSharp, ma questo non soddisfa il tuo requisito di non prenderlo. Rimuove solo la quantità di codice che devi fare. –