小编Col*_*Ear的帖子

未捕获.NET异常

我有一个看起来像这样的函数:

try
{
     _dbManager.InsertSearch(some data);
}
catch (Exception ex)
{
    //do logging
}
Run Code Online (Sandbox Code Playgroud)

_dbManager使用LINQ将数据插入SQL数据库.昨天,托管数据库的机器耗尽了硬盘空间,我的程序崩溃了.我有一个崩溃转储,它显示有SqlClient.SqlException一个异常消息,例如"数据库事务日志已满......".

我的问题是:为什么异常没有在上面的catch块中被捕获?奇怪的是,当我试图重现这个问题时,我可以得到相同的异常,但是它被catch块捕获了.可能是什么问题?

第二,相关问题:想象一下,如果我们使用第三方库,我们不希望抛出任何异常.我们可以使用try-catch块,但这只适用于调用线程.如果第三方启动新线程并抛出异常怎么办?有办法处理这个吗?我知道我可以注册我们的UnhandledExceptionHandler,但这似乎与我想要的不同.

c# exception linq-to-sql

6
推荐指数
1
解决办法
1405
查看次数

标签 统计

c# ×1

exception ×1

linq-to-sql ×1