澄清这个例外意味着什么

时间:2017-03-12 16:18:44

标签: c#

我有一个在用户计算机上调用的C#DLL。

他们安装了Microsoft .NET Framework 4.6.2但我的日志记录软件却引发了这个问题:

<LogEntry Date="2017-03-12 12:06:15" Severity="Exception" Source="MSAToolsLibrary.MSAToolsLibraryClass.UpgradeDatabase" ThreadId="1">
  <Exception Type="System.NullReferenceException" Source="MSAToolsLibrary.MSAToolsLibraryClass.UpgradeDatabase">
    <Message>Object reference not set to an instance of an object.</Message>
    <StackTrace>   at MSAToolsLibrary.MSAToolsLibraryClass.UpgradeDatabase()</StackTrace>
  </Exception>
</LogEntry>

这是否意味着实际的MSAToolLibrary对象未在其计算机上正确注册,或者是否更直接指向UpgradeDatabase方法本身?

1 个答案:

答案 0 :(得分:2)

该异常表明它起源于方法$('#loader').change(function() { var a = this.files[0]; var reader = new FileReader(); reader.onload = function(e) { var src = e.target.result; var img = $("<img>"); img.on("load", function() { // Hook `load` first var a = $(this).width(); // Get the width once loaded console.log(a); $("#imgt")[0].src = src; // Now set it on the image in the DOM }).attr("src", src); // Set src AFTER hooking `load` } reader.readAsDataURL(a); }); 。因此该方法中有一些行会导致MSAToolsLibrary.MSAToolsLibraryClass.UpgradeDatabase()

以下代码将演示其工作原理

NullReferenceException

输出

  

未处理的异常:System.NullReferenceException:未将对象引用设置为对象的实例。
  在Program.cs中的Program.Foo(Object arg):第2行   在Program.cs中的Program.Main():第6行