机房重构完成,一直没有对自己的错误进行总结,这些错误是该记录一下因为它记录了自己的成长,这些错误有的是因为不细心,有的是因为对代码的不熟悉,随着对代码的理解的加深,错误解决的能力也提高了很多。
问题一:未将对象引用设置为对象的实例
代码错误显示
提示Factory这里有问题,检查了一下我的代码是因为没有实例化,没有“new”,加上new就可以了。
这个问题是在机房开始前期出现的,这个错误的出现对代码的不够熟悉和理解,也是不够细心造成的。
问题二:变量在赋值前被引用,可能会在运行时导致null引用异常
这个问题很容易看出也是因为没有new,需要实例化实体类表,这样的问题在机房后期就没有再出现过了,遇到同样的问题有一次两次,不要再出现同样的错误。
问题三:调用登录的用户名时失败,每次调用后显示的都是本窗体界面的名称,并且不能传给实体。
开始的时候以为是不应该这样直接调用另一个窗体里的文本框的内容,后来检查登录里面的代码才发现了问题,我原来frmLogin里面的代码如下:
当主窗体显示之后,文本框清空,这样就导致后面的窗体调用的时候不成功是空的,所以这里把最后两行的代码去掉就可以了。同时还尝试了一下,如果代码不是写的me.hide,而是Me.close也会导致不能调用本窗体的文本框属性值。
问题四:学生查看余额时,有的信息可以显示,有的不能显示,检查代码调试显示如下,为空。
解决方法:修改实体类,规范命名,命名与数据库中字段的名字是一样的,这样就成功显示了。
通过这个错误我知道使用泛型的时候实体属性命名必须和数据库中的一模一样才可以,而且如果不一致我们在使用DataGriedView时也会遇到类似的问题,都是因为名称不统一。所以以后设计数据库的时候字段名也要注意,不能和代码中公共的方法名重合。
问题五:为过程或参数指定了过多的参数。
这是在组合查询时出现的,看提示知道错误很明确就是因为参数过多,这里就是因为我在D层多放了一个参数,在D层经常会出现类似的错误,有的是因为没有成功赋值,参数多了或是少了,有的是有重复命名等,这种错误在调试中还是很容易看出来的,但是经常会遇到。
总结:
在整个机房的过程中,遇到的错误有很多,但是并不是每一个都记录下来了,这篇博客只是收集了错误的一小部分。有的时候因为一个错误会调很久,随着问题增多,解决的次数增多,调错的能力也有一些提高。在这个过程中和其他伙伴们也学到了很多,在机房开始的时候遇到错误总是有些不知所措,很多调错技巧都是在别人给自己解决问题的过程中学习的。在这次机房重构中遇到错误没有很多消极方面的情绪,而且愿意去调错,发现当明白之后敲代码调代码都是一个快乐的事情。