2012-04-23 71 views

回答

5

这是一般事实,在软件开发过程的早期,你发现漏洞更快/更容易/更便宜的它是解决这些问题。通常情况下,编译器错误或警告指出您在问题所在的代码中的确切位置,而在运行时定位错误通常会是一个更加冗长和费力的过程。此外,也可能是该错误在一段时间内没有出现(“潜在”错误),因此您可能需要在未来某个时间花费额外的努力来提供客户支持,运送软件更新错误修复,应对造成名誉损失等

2

基本上,因为编译器每次编译时间的推移,通过所有的代码,它可以检测到任何错误会自动在每个汇编找到。

发现错误运行时意味着你必须运行所有的代码来检测错误,这可能会非常棘手,尤其是有很多条件执行分支的代码。另外,指出错误的确切位置可能非常棘手。

在它归结为尽快找到错误结束,这样你就可以解决这些问题,而该代码是在你的头脑清新。

1

此外,添加到什么@保罗r表示,编译错误是“容易”的通知(你刚才编译代码就万事大吉了),而运行时错误可能是特定的使用情况,这可能会崩溃您的系统在部署时。想想冲击...

1

有两种类型的错误,编译时间和运行时间。最好是,你希望你的错误发生在编译时,因为这些更容易诊断和纠正。

基本上编译时错误意味着编写的代码不能建立,因为有语法错误(打字错误)或类型错误(调用或使用错误的方式使用变量类型)等,编译器无法继续。尽管现在编译器尽最大努力来识别所有类型的错误,甚至是潜在的运行时错误,因为在编写代码时,与在调试过程中相反,它更便宜并且更少时间来纠正这些问题。通常情况下,在一个可以进行基本“运行时”分析的编译器中,您将收到警告,这是编译器告诉您它认为您的代码已被抬起的方式。它仍然建立在警告场景中,但警告总是您应该付费的东西。

发生运行时错误是因为尽管代码可能是正确的,但逻辑不是或编译器无法在编译过程中知道进入代码的参数(认为用户输入)。运行时错误的例子有无限循环,超出界限的错误,类型错误(当用户输入一个字符串时,要求输入一个数字)以及其他许多错误。

底线是,只要我们能够在产生错误时知道错误,而不是在完成之后,我们就可以让代码更加清晰和高效。我希望这有帮助。 :)

相关问题