我们的客户使用的是古老的.NET SDK(v4.0.30319),其中存在DataGrid的已知问题,导致某些操作和输入的“索引超出范围”。
(详情可以是found here或here)
我们的用户无法升级(受控环境,没有管理员权限)他们的.NET版本。
有没有办法在本地捕获异常?
我们迄今为止发现的最好的方法是通过app.xaml
在我们的DispatcherUnhandledException
中全局捕获异常,但我们真的想要抓住这个特定模块的特定错误。
视图是否有DispatcherUnhandledException
的等价物?
或者以任何方式“入侵”WPF管道以捕获错误..?
答案 0 :(得分:0)
如果没有使用Dispatcher.UnhandledException
,您将无法捕获此特殊异常,因为如果存在ArgumentOutOfRangeException
,它将被抛入网格内并与Dispatcher内部一起抛出。如果原因实际上是UI交互(并且您可以在堆栈跟踪中看到这一点),那么您将无法捕获那个特殊的交互。