相关疑难解决方法(0)

记录从捕获它们的方法之外捕获的异常

我有一个方法,如:

public TResult DoSomethingWithLogging<TResult>(Func<TResult> someAction)
{
    try
    {
        return someAction.Invoke();
    }
    catch (Exception ex)
    {
        LogException(ex)
        throw;
    }
Run Code Online (Sandbox Code Playgroud)

该方法使用如下:

var result = DoSomethingWithLogging(() => Foo());
Run Code Online (Sandbox Code Playgroud)

我还想记录内部捕获的异常Foo().我不能throwcatch里面使用Foo.

我怎么能抓住这样的例外?

例:

public static string Foo()
{
    try
    {
        return "Foo";
    }
    catch (Exception)
    {
        // I have to log this exception too without adding anything to Foo
        return "Exception caught";            
    }       
}
Run Code Online (Sandbox Code Playgroud)

c# lambda exception

12
推荐指数
1
解决办法
1138
查看次数

有没有办法记录或拦截First Chance Exceptions

如果没有使用分析器,在运行程序中是否有任何方法可以检测到第一次机会异常?理想情况下,我想记录一旦catch块接管最终异常后不可用的更详细的状态信息.

.net exception

8
推荐指数
2
解决办法
1475
查看次数

标签 统计

exception ×2

.net ×1

c# ×1

lambda ×1