AccessViolationException

C#中的System.AccessViolationException异常捕捉

我们经常使用try-catch来捕捉异常,但从.NET 4.0开始异常处理机制有所改变,导致AccessViolationException这类异常无法通过try-catch捕捉,而导致程序崩溃。 官方解释 AccessViolationException当代码尝试读取或写入尚未分配或无权访问的内存 ......
AccessViolationException System

失败System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

最近在一个多线程的程序中频繁出现这种问题,最后发现问题出在DataTable上,当多线程同时操作DataTable添加行时,就会出现这种问题。加个lock就解决了 lock (_lockDetailDTOBJ) { dt.Rows.Add(row); } ......
共2篇  :1/1页 首页上一页1下一页尾页