주 메뉴 열기
대문
임의의 문서로
로그인
설정
Pywiki 소개
면책 조항
Pywiki
검색
바뀜
← 이전 편집
11. 예외처리
(편집)
2022년 6월 21일 (화) 16:10 판
1,756 바이트 추가됨
,
2022년 6월 21일 (화) 16:10
→응용
1번째 줄:
1번째 줄:
+
== 개요 ==
+
코드에 에러가 발생했을 때 멈추는 것이 기본적인 동작이다. 그러나 에러가 발생하면 멈추는 게 아니라 다시 실행하게 하든가, 다른 명령을 실행하게 하고 싶을 때 사용하는 구문이 try, except 문이다.
+
+
=== 기본 형태 ===
+
<syntaxhighlight lang="python">
+
try:
+
코드
+
except:
+
코드를 실행하다 에러가 나면 실행할 코드.
+
else:
+
에러가 발생하지 않으면 실행할 코드.
+
finally:
+
에러가 발생하든 안하든 실핼할 코드.
+
</syntaxhighlight>
+
+
== 응용 ==
+
+
=== 에러를 무시하고 그냥 계~속 반복 실행하고 싶을 때 ===
+
<syntaxhighlight lang="python">
+
while 1:
+
try:
+
코드
+
except:
+
pass # 에러가 나면 다음 순회로 돌려 코드를 다시 실행한다.(에러 무시 무한반복)
+
</syntaxhighlight>
+
+
=== 에러가 발생하면 넘기되, 에러명을 뽑아내고 싶을 때 ===
except Exception as e:
except Exception as e:
print(str(e)) 형태로 에러명을 뽑아낼 수 있다.
print(str(e)) 형태로 에러명을 뽑아낼 수 있다.
+
+
=== 에러의 위치를 알고 싶을 때 ===
+
에러명을 알아도 코드가 너무 길어지면 에러의 발생 위치를 특정하기 어렵다. 그럴 땐 traceback을 사용한다.<syntaxhighlight lang="python">
+
import traceback
+
while 1:
+
try:
+
코드
+
except Exception as e: # 에러가 나면 다음 순회로 돌려 코드를 다시 실행한다.(에러 무시 무한반복)
+
print(traceback.format_exc())
+
</syntaxhighlight>
+
+
=== 에러에 따라 다른 처리를 하고 싶을 때 ===
+
발생하는 에러의 종류에 따라 지정할 수 있다.<syntaxhighlight lang="python">
+
while 1:
+
try:
+
코드
+
except ValueError:
+
코드
+
except ZeroDivisionError:
+
코드
+
except: # 기타 에러가 발생한 경우.
+
코드
+
</syntaxhighlight>
[[분류:기초]]
[[분류:기초]]
Sam
사무관
,
인터페이스 관리자
,
관리자
, 교사
편집
1,410
번