好的,新的编码器在这里寻找对这个问题的一点了解.所以我有一个像这样开始的for循环:
for (int i = 0; i < rowHandles.Length; i++)
{
.........code....
}
Run Code Online (Sandbox Code Playgroud)
rowHandles是一个包含数据行的int数组.此for循环具有在单击删除按钮时删除数据行的代码,具体来说,它是网格工具条删除按钮,这是在删除按钮单击事件处理程序内.问题是当没有行时可以单击删除按钮,因此rowHandles.Length等于null.我该如何阻止这个程序停止?我可以在for循环中,在for循环声明中,还是在for循环之外添加一些内容来纠正这个问题?也许尝试抓住?如何围绕这个特定的问题/循环进行构建?
感谢您的帮助 - 新手编码器
Jar*_*Par 10
如果问题是rowHandles可以,null那么只需添加一个显式检查,以防止您执行该for语句.
if ( rowHandles != null ) {
for ( int i = 0; i < rowHandles.Length; i++ ) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
如果没有要删除的行,另一个选项是完全禁用删除按钮.操作无效,因此从一开始就阻止它.
这里的一个重要原则是永远不会处理您可能首先要阻止的异常.你永远不应该处理空引用异常; null引用异常表示程序中应该修复的错误,而不是应该被捕获和忽略的预期发生.编写代码以确保该值不为null,或者检测它是否为null并且不取消引用它.