【问题标题】:Exception thrown inside an empty catch block在空的 catch 块内抛出异常
【发布时间】:2012-08-05 06:24:04
【问题描述】:

我有以下奇怪的错误; 在空的 Catch 块上抛出异常!

任何想法如何实现以及如何解决?

谢谢!

【问题讨论】:

    标签: .net vb.net exception


    【解决方案1】:

    它尝试过但失败了,但catch中没有任何东西可以处理它,因此出现错误NullReferenceException was unhandled

    【讨论】:

    • 我看不出这怎么可能,一定有“Throw new ..Exception(...)”
    • @user1179861 但是应用程序中的Try 块中存在一个未处理的空引用异常。这就是你的错误所说的。它是说它试图运行你的代码并失败了,并且异常(由于运行失败)没有得到处理。
    • 但这就是 catch 块的全部意义——处理异常(或在这种情况下忽略它)。
    • @user1179861 没错。在这种情况下你没有处理它,这就是它未被处理的原因。
    • 什么是“处理”?编译器如何知道它是否“处理”?如果我不关心这个异常,我应该如何忽略它?
    【解决方案2】:

    好吧,我想我明白了……

    For Each mediaPlayerID In _attachedDevices.Values.GroupBy(Function(t)t.MediaPlayerInfo.ID).Distinct()
        Try
            fileSystemPerMediaPlayerId.Add(mediaPlayerID.Key, New FileSystemOnDevice())
        Catch
        End Try
    Next
    

    问题是由 GroupBy 方法内的 lambda 表达式中的空变量引起的...
    编译器只是指向了错误的行..

    【讨论】:

      猜你喜欢
      • 2012-09-21
      • 1970-01-01
      • 2014-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      相关资源
      最近更新 更多