2012-04-23 57 views

回答

5

這是一般事實,在軟件開發過程的早期,你發現漏洞更快/更容易/更便宜的它是解決這些問題。通常情況下,編譯器錯誤或警告指出您在問題所在的代碼中的確切位置,而在運行時定位錯誤通常會是一個更加冗長和費力的過程。此外,也可能是該錯誤在一段時間內沒有出現(「潛在」錯誤),因此您可能需要在未來某個時間花費額外的努力來提供客戶支持,運送軟件更新錯誤修復,應對造成名譽損失等

2

基本上,因爲編譯器每次編譯時間的推移,通過所有的代碼,它可以檢測到任何錯誤會自動在每個彙編找到。

發現錯誤運行時意味着你必須運行所有的代碼來檢測錯誤,這可能會非常棘手,尤其是有很多條件執行分支的代碼。另外,指出錯誤的確切位置可能非常棘手。

在它歸結爲儘快找到錯誤結束,這樣你就可以解決這些問題,而該代碼是在你的頭腦清新。

1

此外,添加到什麼@保羅r表示,編譯錯誤是「容易」的通知(你剛纔編譯代碼就萬事大吉了),而運行時錯誤可能是特定的使用情況,這可能會崩潰您的系統在部署時。想想衝擊...

1

有兩種類型的錯誤,編譯時間和運行時間。最好是,你希望你的錯誤發生在編譯時,因爲這些更容易診斷和糾正。

基本上編譯時錯誤意味着編寫的代碼不能建立,因爲有語法錯誤(打字錯誤)或類型錯誤(調用或使用錯誤的方式使用變量類型)等,編譯器無法繼續。儘管現在編譯器盡最大努力來識別所有類型的錯誤,甚至是潛在的運行時錯誤,因爲在編寫代碼時,與在調試過程中相反,它更便宜並且更少時間來糾正這些問題。通常情況下,在一個可以進行基本「運行時」分析的編譯器中,您將收到警告,這是編譯器告訴您它認爲您的代碼已被擡起的方式。它仍然建立在警告場景中,但警告總是您應該付費的東西。

發生運行時錯誤是因爲儘管代碼可能是正確的,但邏輯不是或編譯器無法在編譯過程中知道進入代碼的參數(認爲用戶輸入)。運行時錯誤的例子有無限循環,超出界限的錯誤,類型錯誤(當用戶輸入一個字符串時,要求輸入一個數字)以及其他許多錯誤。

底線是,只要我們能夠在產生錯誤時知道錯誤,而不是在完成之後,我們就可以讓代碼更加清晰和高效。我希望這有幫助。 :)

相關問題