我试图抓住在声明变量时有时会发生的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;
}
}
}
任何帮助都将非常感激。
答案 0 :(得分:5)
您不需要自己抛出异常。只是:
try
{
var t = (ForumThread)Globals.Db.Thread.Get(_extIdForumThread, _idF);
}
catch (InvalidOperationException exception)
{
// Error logging, post processing etc.
return;
}
除非你有充分的理由,否则你不应该抓住一般的例外 - 即你的应用程序不会崩溃,但如果你这样做,你需要能够从中恢复。