| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Octaveは,妥当ではないプログラムについて,2種類のエラーを報告します。
もしOctaveが打ち込まれた内容を理解できないならば,parse errorが発生し ます。たとえば,キーワードのスペルを間違ったとします。
octave:13> functon y = f (x) y = x^2; endfunction |
Octaveは,以下のようなメッセージをただちに表示するでしょう。
parse error:
functon y = f (x) y = x^2; endfunction
^
|
大部分のパースエラーについて,Octaveでは,あなたの入力で意味をなすことのでき
ない行の位置をマークするために,キャレット記号(`^')を使用します。この
例の場合,functionというキーワードのスペルが誤っていたため,Octaveは
エラーを生成しました。`function f'と解釈するのではなく,Octaveは2つの連
続する変数名として解釈しました。これは,この文脈では妥当ではありません。
yにおいてエラーをマークしたのは,最初の名前(functon)がそれ自身,妥
当な入力として受け入れられたからです。
エラーメッセージの別の種類は,評価時に発生します。これらのエラーは 実行時(ランタイム)エラー,あるいは時々評価エラーとも呼ばれます。 これは,それらのエラーは,プログラムが実行(run),あるいは 評価(evaluated)されたときに発生することによるものです。たとえば,以前 の関数定義におけるミスを修正した後に,以下のように打ち込むとします。
octave:13> f () |
Octaveは以下のように応答するでしょう。
error: `x' undefined near line 1 column 24 error: evaluating expression near line 1, column 24 error: evaluating assignment expression near line 1, column 22 error: called from `f' |
このエラーメッセージは複数の部分に分かれており,エラーの原因を突き止める 手助けとなる一片の情報を与えています。これらメッセージは,最も奥にあるエ ラー点から生成されており,式および関数呼び出しを囲むトレースバックを提供 します。
上の例において,最初の行は,`x'なる名前の変数が,何かの関数あるいは 式の1行24桁目付近で定義されていないことが判明したことを示しています。関数 内で発生したエラーについて,その行は,関数の定義を含むファイルの始まりか らカウントされます。トップレベルで発生したエラーについて,その行番号は, 入力行の番号を示します。これは,通常はプロンプト文字列に示されています。
この例の2行目および3行目は,代入式でエラーが発生したことを示しており,エ
ラーメッセージの最後の行は,エラーが関数fの中で発生したことを示し
ています。もし仮に,関数fが別の関数(たとえばg)から呼ばれ
ていたならば,エラーのリストはもう1行多くなったことでしょう。
error: called from `g' |
これらの関数呼び出しリストは,ふつうは,エラーが起こる前にプログラムを実行 したパスをかなり容易にたどれるようになっており,再度実行する前にエラーを修 正しやすくなっています。
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated on July, 20 2006 using texi2html 1.76.