2015年10月23日 星期五

Java 學習日誌 013:程式中的錯誤


瞭解如何寫基本的程式以後,接下來要知道的是,在寫程式時,有時候不小心會出現錯誤,這種錯誤我們稱它為bug,因此除錯的動作也就稱為debugging。而最常見的三種錯誤,為syntax errors、run-time errors,以及logic errors。以下是這三種錯誤的解釋。

一個syntax error指的是句法(或語法、文法、句構)上的錯誤,也就是說在文字、符號的排列、規劃上出現了錯誤,例如說遺漏了一個必須的符號,那就是syntax error。而當犯了syntax error的時候,compiler可以自動偵測出來,並且會列出一條訊息告知你,甚至會跟你說它認為錯誤的地方在哪、出了什麼錯。如果compiler跟你說你犯了一個syntax error,那不用懷疑的一定是犯了這個錯誤,但它說的位置與犯的錯是什麼則不一定都是正確的。

如果一個錯誤是在運算的時候才被偵測出來,那就是run-time error。假如電腦偵測出一個run-time error,則會顯示出一個錯誤的訊息,這個錯誤訊息可能沒有那麼好被理解,但至少它讓你知道程式裡有錯誤。

一個錯誤發生在合理可運行的情況下,則稱為logic error。如果你的程式裡有logic error,他會被成功編譯、運算,並且不會出現任何錯誤的訊息。意思就是說你寫了一段有效的程式,只不過結果並不是你要的。舉例來說,做數學運算時,把加號不小心用成乘號,那就是一個logic error。Logic error是最難被找出來的,因為電腦並不會給你任何偵測到錯誤的訊息。

參考資料:Walter Savitch. Absolute Java. 5th ed.

沒有留言:

張貼留言