오류
| 시점 | 예 | 결과 |
|---|---|---|
| 컴파일 오류 | 구문 오류, 알 수 없는 기본 제공 함수, 잘못된 인수 수, 정의되지 않은 변수, 철자가 틀린 상수, 닫히지 않은 문자열 또는 주석 | 아무것도 실행되지 않습니다. 첫 번째 오류만 줄과 열과 함께 보고됩니다. 진단 콘솔과 구성 UI의 편집기에 표시됩니다. |
| 기본 제공 함수 실패 | 잘못된 인수 형식, 음수인 부분 문자열 시작 위치, MathRandom(5, 1), 알 수 없는 메시지 상자 단추 이름, 빈 분할 구분 기호, Input.Observer가 이미 열어 둔 직렬 포트 열기 | 작업이 해당 호출에서 중지됩니다. 그 뒤의 문은 실행되지 않으며, 오류는 BuiltinName: 이유 형식으로 보고됩니다. |
| 소프트 결과 | 형식이 맞지 않는 값에 대한 연산자, 0으로 나누기, null 또는 닫힌 창(위치, 크기, DPI가 0으로 읽힘), 범위를 벗어난 인덱스, 존재하지 않는 파일, 열리지 않는 직렬 포트 | 오류가 아닙니다. 0, false, "", -1 또는 null Window가 반환되고 스크립트는 계속 실행됩니다. |
흔한 컴파일 오류와 그 의미:
| 작성한 코드 | 실패 이유 | 대신 작성할 코드 |
|---|---|---|
i++; / i += 1; | 증가 연산자나 복합 연산자가 없습니다 | i = i + 1; |
while (x) { … } | while은 키워드가 아니므로 알 수 없는 함수로 해석됩니다 | for 루프 |
x = n % 2; | %가 없습니다 | x = n - (n / 2) * 2; 또는 n & 1 |
'text' | 작은따옴표는 문자열 구분 기호가 아닙니다 | "text" |
r = .5; / r = 1e3; | 앞쪽 점이나 지수 표기를 쓸 수 없습니다 | 0.5 / 1000.0 |
a = b = 0; | 할당은 식이 아닙니다 | a = 0; b = 0; |
for (;;), for (i = 0, j = 0; …) | 초기화식과 증감식은 각각 할당 하나여야 합니다 | j = 0; for (i = 0; …; i = i + 1) |
print(x) | 알 수 없는 함수입니다. 기본 제공 함수 이름은 정확해야 하며 대/소문자를 구분합니다. | UtilityPrint(…) |
첫 줄의 y = total + 1; | 이 위치보다 앞에서 total이 할당되지 않았습니다 | 먼저 할당하십시오: total = 0; |