다음: 실행 가능한 옥타브 풀그림, 이전: 명령줄 편집, 상위 문서: 시작하기 [차례][찾아보기]
잘못된 풀그림에 대해 옥타브는 두 가지 방식으로 오류를 보고합니다.
입력한 내용을 해석할 수 없을 때는 구문 분석 오류가 발생합니다. 예를 들어, 아래와 같이 오탈자가 나면,
octave:13> function y = f (x) y = x***2; endfunction
곧 다음과 같은 안내가 나옵니다.
parse error: syntax error >>> function y = f (x) y = x***2; endfunction ^
구문 분석 오류 대부분은 승수 기호(‘^’)를 이용해 줄에서 오류가 난 부분을 표지합니다. 위 경우에는 멱법
예약어(**
)에 오자가 나서 오류가 출력되었습니다. 오류 표지인 승수 기호가 표기된 세 번째 ‘*’
직전까지는 올바르지만, 세 번째 ‘*’를 해석할 수 없기 때문입니다.
다른 종류의 오류 보고는 식의 해를 구할 때에 나옵니다. 이 오류는 풀그림이 실행 중이거나, 해를 구할 때에 발생하기 때문에 실행 시간 오류 또는 평가 오류라고 합니다. 예를 들어, 입력한 이전 함수 정의의 실수를 나중에 수정하면,
octave:13> f ()
다음과 같이 응답합니다.
error: `x' undefined near line 1 column 24 error: called from: error: f at line 1, column 22
오류 문구는 여러 부분으로 나뉘어 나오고, 오류가 발생한 원천 부호를 찾을 수 있도록 약간의 정보가 제공됩니다. 안내는 오류가 발생한 최소 지점에서 생성되며, 표현식 상자와 함수 호출을 역추적할 정보가 제공됩니다.
위 예시에서, 첫 번째 줄은 어떤 함수나 표현식의 1 번째 줄, 24 번째 열에 정의되지 않은 ‘x’라는 변수를 찾았음을 보여줍니다. 오류가 함수 내부에서 발생하면, 함수 정의를 포함하는 기록철 첫 부분부터 줄 번호를 셉니다. 함수 밖에서 오류가 발생하면, 주 명령처리기 문자열로 보통 표시되는 입력 줄로 줄 번호를 셉니다.
오류 문구 예시의 두세 번째 줄은 함수 f
에서 오류가 발생했음을 보여줍니다. 또 다른 함수 g
가
함수 f
를 호출했다고 한다면 오류 내역에는 다음 한 줄이 덧붙습니다.
error: g at line 1, column 17
이런 함수 호출 내역은 풀그림 오류 발생 이전을 추척하고, 재실행 전에 오류를 해결하는 데에 상당히 편리합니다.
다음: 실행 가능한 옥타브 풀그림, 이전: 명령줄 편집, 상위 문서: 시작하기 [차례][찾아보기]