如何在不丢失C#中的堆栈跟踪的情况下抛出InnerException?

如何在不丢失C#中的堆栈跟踪的情况下抛出InnerException?,第1张

如何在不丢失C#中的堆栈跟踪的情况下抛出InnerException?

.NET 4.5中 ,现在有了

ExceptionDispatchInfo
类。

这使您可以捕获异常并重新引发它,而无需更改堆栈跟踪:

try{    task.Wait();}catch(AggregateException ex){    ExceptionDispatchInfo.Capture(ex.InnerException).Throw();}

这适用于任何异常,而不仅仅是

AggregateException

它是由于

await
C#语言功能而引入的,该功能从
AggregateException
实例解开了内部异常,以使异步语言功能更像同步语言功能。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5113997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存