주의사항
해당 문서는 중요 변경 작업 중에 있습니다. 일부 문서에 텍스트가 빠져있거나, 불어로 플레이스홀더(placeholder) 자리차지만 되어 있을 수 있습니다.
리보그 세상은 파이썬 예외(exceptions)를 엄청 사용한다.
예외를 발생(raise an exception)시키는 것이, 다소 급작스럽지만, 프로그램 제어를 하는 또다른 방식이 된다. 예외를 발생기키려고 하면, 다음 패턴이 흔히 사용되는 방식이다:
try:
# 예외를 일으키는 코드...
# 또다른 유형의 예외을 일으키는 코드...
# 또다른 유형의 예외을 일으키는 코드...
except ExceptionName1:
# 예외를 처리한다.
except ExceptionName2:
# 또다른 예외를 처리한다.
finally:
# 올바른 유형의 예외가 인식되지 않더라도
# 종국에 수행하는 작업
다음에 시연된 예제를 시도해 볼 수 있다. 미로를 불러와서 이해하려고 하면, Documentation 메뉴를 먼저 클릭하고, “Big maze”를 선택한다.
위에서, 파이썬 random 모듈에서 randint 함수를 가져온다; 매번 while 루프가 돌 때마다, 임의로 정수를 뽑도록 한다. RUR.MAX_STEPS 변수값을 10,000 으로 설정한다; 이 변수로 해당 프로그램에서 실행될 수 있는 최대 명령어 수행횟수를 제어한다; 기본디폴트 설정으로, 1,000 으로 설정되지만, 전체 프로그램을 수행하기에는 충분해 보이지는 않는다.
벽이 앞을 막고 있다면 move() 명령어가 ReeborgError 예외를 촉발한다; 하지만, turn_left() 명령어는 결코 예외를 촉발할 수 없다.
사용자 프로그램에 의해서 ReeborgError 또다른 예외가 발생될 수 있다. 예를 들어, 프로그램이 다음과 같다면:
move()
Mov()
NameError 명칭 예외가 발생되는데, 이유는 Mov 가 알수없는 명령어가 되기 때문이다. 프로그램이 다음과 같다면:
move()
move()
IndentationError 들여쓰기 예외가 발생된다. 프로그램이 다음과 같다면:
move)
SyntaxError 구문예외가 예외로 발생된다; 등등...