居然无效?查找并消除运行时错误
更新:2007 年 11 月
在本课中,您将学习如何调试程序和修复运行时错误。
正如您前面所学,当程序尝试的操作不可能完成时,会出现运行时错误。当出现运行时错误时,程序停止并显示错误信息。这时您需要调试并修复错误,然后程序才能继续运行。
查找并修复运行时错误
大多数运行时错误的出现都是由于代码错误,例如,在使用变量前忘记为其赋值。当运行程序时,如果发现了错误,程序将停止,并且“代码编辑器”窗口中会显示“异常助手”对话框。发生这种情况时,程序处于中断模式(即需要进行调试的模式)。
“异常助手”对话框包含对错误的说明,以及指出错误原因的故障排除提示。您可以单击故障排除提示来显示帮助主题,以了解更多信息。
需要修复错误后程序才能继续,为了修复错误,您需要检查代码以找出错误原因。例如,如果怀疑错误起因于某个变量含有不正确的值,那么,当仍处于中断模式时,可以使用 IntelliSense 查看该变量的值。当您在代码编辑器中将鼠标停留在变量上时,工具提示会显示该变量的值。如果该值不是您期望的值,则在前面的代码中查看设置该值的位置,然后修复相应代码并继续。
试一试!
检查变量的值
在“文件”菜单上,选择“新建项目”。
在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。
在“名称”框中键入 RunTimeErrors,再单击“确定”。
一个新的 Windows 窗体项目随即打开。
双击该窗体以打开代码编辑器。
在 Form_Load 事件处理程序中,添加下面的代码。
Dim miles As Integer = 0 Dim hours As Integer = 0 Dim speed As Integer = 0
miles = 55 speed = miles / hours MsgBox(CStr(speed) & " miles per hour")
按 F5 运行程序。将出现“异常助手”对话框,其中显示有消息“未处理 OverflowException”。
从对话框引至代码文件的虚线显示错误是由哪一行代码产生的。
注意,“异常助手”中的第一个故障排除提示建议应确保不会被零除。
将鼠标移到变量 miles 上并停留几秒。应看到一个显示“miles 55”的工具提示。
现在将鼠标移到变量 hours 上,工具提示应显示“hours 0”。
由于不能被零除,而 hours 的值为零,这样您就找到了错误的原因,即没有更新 hours 的值。
在 miles = 55 行上方添加下面这行代码。
hours = 2
单击代码左边距中的黄色箭头,将代码向上拖到 hours = 2 行上。
这使程序可以从该行继续运行,而不是从包含错误的行继续。若要执行刚添加的新代码行就需要这样做,以便识别错误修复。
按 F5 继续程序。此时出现一个对话框,其中显示“8 miles per hour”。
后续步骤
在本课中,您学习了如何找到并修复运行时错误。在下一课中,您将了解第三种类型的编程错误:逻辑错误。您可以探索详细了解:假定方案...在即时窗口中测试代码中更高级的调试方法,然后进入逻辑错误课程。
下一课:嘿!不应那样做!找出逻辑错误