Throw [v1.1.04+]

에러의 출현을 알려줍니다. 이 신호는 try-catch 서술문으로 잡을 수 있습니다.

Throw [, Expression]
선택

매개변수

Expression

catch의 OutputVar에 저장할 값.

이 매개변수는 표현식이기 때문에, 다음은 모두 유효한 예제입니다:

throw 3
throw "literal string"
throw MyVar
throw i + 1
throw { what: "Custom error", file: A_LineFile, line: A_LineNumber } ; 객체를 던집니다.

이 매개변수는 언제나 표현식입니다. 그래서 변수 참조는 퍼센트 사인으로 둘러싸면 안 됩니다. 단, double-deref를 수행할 때는 예외입니다.

[v1.1.05+]: 생략되면, 기본 메시지와 함께 예외 객체가 던져집니다.

Exception(Message [, What, Extra])

다음 특성을 가진 객체를 만듭니다. 또한 실행시간 에러가 만든 예외에 흔합니다:

  • Message: 에러 메시지 또는ErrorLevel 값.
  • What: 에러가 일어날 때 실행 중인 또는 실행될 함수나 라벨 또는 명령어의 이름.
  • Extra: 에러에 관한 추가 정보.
  • File: 에러가 일어난 줄이 있는 스크립트 파일의 전체 경로를 자동으로 설정됩니다.
  • Line: 에러가 일어난 줄 번호를 자동으로 설정합니다.

What이 생략되면, 현재 함수나 서브루틴의 이름이 기본값이 됩니다. 그렇지 않으면 문자열이거나 또는 호출 스택의 위쪽으로부터 아래로 음의 오프셋일 수 있습니다. 예를 들어, 값이 -1이면 Exception.What에 현재 함수나 서브루틴을 설정하고 Exception.Line에 그를 호출한 줄을 설정합니다. 그렇지만, 스크립트가 컴파일 되었거나 오프셋이 유효하지 않으면, What은 그냥 문자열로 변환됩니다.

MessageExtra는 문자열로 변환됩니다. 이것들은 예외가 던져졌는데 잡지 못하면 에러 대화상자에 보여집니다.

try
    BadlyCodedFunc()
catch e
    MsgBox % "Error in " e.What ", which was called at line " e.Line 

BadlyCodedFunc() {
    throw Exception("Fail", -1)
}
선택 | 내려받기

관련 항목

Try, Catch, Finally

예제

Try를 참조하십시오.