don't stop believing

에러를 넘어가보자 try ... except 본문

Testing Automation/SikuliX

에러를 넘어가보자 try ... except

Tongchun 2018. 3. 5. 17:19

SikuliX 코드를 작성하다 보면 에러가 나는 경우가 있습니다.

우리가 배운 것 중에 하나를 예로 든다면 findBest() 함수가 있습니다.

findBest()함수는 배열로 된 찾으려는 이미지에서 가장 적합한 것을 하나 찾아 알려주게 됩니다. 하지만 만약 배열로된 이미지 중 맞는게 없다면 에러가 나게 됩니다.


Don't Starve Togather라는 게임을 자주 하는데 나무를 베야 할 때가 있습니다.

여러 종류의 나무가 있고 그중 하나를 선택해 스페이스 키를 눌러 나무를 베라는 코드를 작성했습니다.


아래처럼 작성했는데 나무가 없는 곳에서 SikuliX 코드를 실행하니 에러가 납니다. 나무를 찾지 못했다고 합니다.


코드에서 에러가 나올 경우 에러난 코드 부분을 무시하고 다음 코드를 실행시켜 주고 싶다면 try except 문을 사용하면 됩니다.

python에서 예외 처리에 대한 문법으로 SikuliX Document에서도 설명하고 있습니다.

[http://sikulix-2014.readthedocs.io/en/latest/region.html#exceptionfindfailed]


아래 링크는 점프 투 파이선(예외 처리) 설명입니다.

[https://wikidocs.net/30]


간단 합니다. 에러가 나는 부분에 try ... except 구문을 추가하면 됩니다.

이렇게 하면 빨간 글씨의 에러 로그가 아닌 "나무를 찾지 못했습니다."가 나오게 됩니다.

그리고 pass 명령으로 다음 코드를 실행하도록 하면 됩니다.


findBest() 함수가 아닌 find() 함수에서도 사용 가능합니다.

바탕화면의 크롬 아이콘을 찾으려고 하는데 다른 Window 창으로 가려서 찾지 못했습니다.


try ... except 구문을 배운 사람으로써 있어 보이게 코딩을 해 줍니다.


여기까지 try ... except 구문으로 예외처리 하는 방법이었습니다.


Comments