InvalidOperationException

InvalidOperationException

我试图捕获在声明变量时有时会出现的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;
        }
    }
}


任何帮助都将不胜感激。

最佳答案

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

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


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

08-07 05:15