1

我试图捕捉InvalidOperationException在声明变量时有时会发生的情况。但是,以下代码不起作用。可能是因为我真的不知道你是如何捕获异常的。

public override void Download()
{
    try
    {                                           
        var t = (ForumThread)Globals.Db.Thread.Get(_extIdForumThread, _idF);            
        try
        {
            throw new InvalidOperationException();
        }
        catch (InvalidOperationException exception)
        {
            return;
        }
        catch (Exception exception)
        {
            throw;
        }
    }
}

任何帮助都将不胜感激。

4

1 回答 1

5

您不需要自己抛出异常。只要有:

    try
    {                                           
        var t = (ForumThread)Globals.Db.Thread.Get(_extIdForumThread, _idF);
    }
    catch (InvalidOperationException exception)
    {
        // Error logging, post processing etc.
        return;
    }

除非您有一个非常好的理由,否则您也不应该真正捕获一般异常 - 即您的应用程序不会崩溃,但如果您这样做,您需要能够从中恢复。

于 2012-12-22T11:34:54.960 回答