gpt4 book ai didi

asp.net - ASP.NET错误对象未设置为引用

转载 作者:行者123 更新时间:2023-12-03 07:43:57 25 4
gpt4 key购买 nike

因为我着急于开发(这里有很多鞭子),并在函数顶部声明我的对象并在try-catch块中实例化,所以我得到了很多很好的“对象”,但未将其设置为对象的实例“在执行TDD时出错,后来如果我确实错过了使用该对象的分支(现在使用VB,宁愿使用C#)或每天都在编码,则未设置为对象实例的对象有点含糊。确保堆栈跟踪将我发送到发生错误的那一行,但是如果我可以修改日志记录以命名对象或对象的类型,那会很好,因为有时我在同一行上有多个对象。这不是世界末日,但最终,它每天可以为我节省几分钟。关于如何传递未设置哪个对象的信息的任何想法?谢谢

最佳答案

“修改日志记录”以输出变量名称或类型并非易事-我确信,如果框架可以轻松地从执行中的IL中获取此信息,则MS会将其包含为null引用异常。

预防总比治疗好。 这是我会做的几点提示

修正您的编译器警告

如果C#检测到存在可能使用未分配的局部变量的代码路径,则C#将生成编译错误。 [出于某种奇怪的原因] VB.Net仍会编译,但是编译器会生成警告-注意这些并继续修复代码,您永远不要再遇到未分配变量的问题!

为变量声明采用不同的编码模式

我了解旧版VB中的方法变量范围是该变量在整个方法中都是可见的,而不管其定义在何处。因此,将所有var声明放在方法的顶部是一种合理的做法。 VB.Net当然是不同的-您只能在声明变量后使用变量,因此可以将声明(和赋值)放置在更接近变量实际使用的位置(可以这样*)。如果您的程序逻辑意味着可以使用未分配的变量,这应该可以帮助您“一目了然”。

  • 有人认为这是将变量声明放在方法顶部的块中始终是一种好习惯。我不会反对它们,但我会说这种方法最适合不使用大量变量的小型方法。
  • 关于asp.net - ASP.NET错误对象未设置为引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2930628/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com