錯誤訊息(Error Messages)

Octave 中的錯誤訊息主要分為語法錯誤(parse error)與執行時錯誤(run-time error)兩種。
語法錯誤(parse error)

在使用 Octave 時常常會碰到輸入的指令語法錯誤導致 Octave 無法執行的問題,此時 Octave 會出現錯誤訊息,並且標明錯誤出現的位置,例如:

3 *** 2

會出現錯誤訊息:

parse error:
syntax error
>>> 3 *** 2
^

Octave 會使用 ^ 符號將錯誤出現的位置標示出來,在 Octave 中的運算子只有 **,沒有 ***,因此出現第三個 * 時,Octave 無法解讀所以回報錯誤。

執行時錯誤(run-time error)

此種錯誤又稱為 evaluation error,發生在程式實際執行的時候,例如:

自行定義個函數 f(x)

function y = f(x)
    y = x^2
endfunction

呼叫此函數:

f()

產生的錯誤訊息:

error: `x’ undefined near line 2 column 9
error: called from:
error: f at line 2, column 7

此錯誤訊息是由最內層的錯誤發生處所產生的,其所提供的 trackback 可以協助使用者找出錯誤的位置。第一行錯誤訊息表示在程式第 2 行的第 9 個字元的位置有個 x 變數沒有定義,若是錯誤發生在函數中,則行號是由函數定義檔的開頭起算,若是發生在函數之外,則會以 Octave 輸入指令的行號為準(這個行號預設會顯示在提示符號中)。

第二行與第三行錯誤訊息表示此錯誤發生在 f() 函數之中,若是 f() 函數是被另一個函數所呼叫的,例如 g() 函數,則錯誤訊息還會多出一行:

error: g at line 2, column 16

藉由這個函數呼叫的列表,使用者可以快速的追蹤錯誤發生的經過。