Geo*_*ton 1 vb.net asp.net exception nullreferenceexception
为什么我的try-catch块在处理时仍会抛出错误?
异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例.
Try
Here >> : _MemoryStream.Seek(6 * StartOffset, 0)
_MemoryStream.Read(_Buffer, 0, 6)
Catch ex As IOException
// Handle Error
End Try
Run Code Online (Sandbox Code Playgroud)
编辑:清除问题以删除无关的信息.
应用程序在try-catch块内部爆炸.知道为什么会这样吗?它不应该只是默默地失败吗?
为什么你认为try/catch中不会发生异常?try.catch块的整个目的是定义如何处理异常情况.如果没有与抛出的异常类型相对应的catch块,则异常将传播出去,直到某些代码捕获它或者直到它被提升为未处理.
当然,它可以Catch ex as Exception
用作块来捕获所有异常,然后吞下它们,但这很少是一个好主意.
到目前为止NullReferenceException
,你几乎从不想抓住它们并处理它们(几乎从不).它们通常表示代码中某处存在错误,其中逻辑null
在访问方法或属性之前未测试引用.事实上,_MemoryStream
变量很可能本身就是罪魁祸首 - 如果它为null,那么调用它就会引发一个确切的异常.
由于try
/ catch
block只捕获一个IOException
,它不会陷阱NullReferenceException
.
这可能表示除了您发布的代码之外的程序中存在某种逻辑错误.对于记录,有了这种异常,程序不应该无声地失败 - 它可能是代码中的错误或库的使用方式(虽然它可能应该由库处理),而不是运行时环境的问题.
归档时间: |
|
查看次数: |
301 次 |
最近记录: |