Stackcat's Blog
try:except:...ClientException Get Error Code 본문
입사 후 쓸 일이 없어서 점점 쓰는 방법을 잊고 있는 파이썬인데, 앞자리 대리님이 물어보셔서 찾아본 결과를 적어둔다.
일반적으로 서버나 기타등등 웹 쪽으로 작업하면 try-except 를 쓸 때가 있는데, 대부분은
try:
...
except Exception as e:
print(e) # 또는 if e.code in (400, 404) : .....
로 에러메시지를 확인한다. 이 때 에러 코드만 보고 싶으면 e.code 식으로 하면 되는데, 이는 HttpException에 해당하고,
이번 경우는 해당 방식이 동작하지 않는 경우였다. 에러메시지는
'ClientException' has no attribute 'code'
같은 형식이었고, 이와 같은 'ClientException'의 경우 다음과 같은 구문을 통해 'code'를 구할 수 있다.
try:
....
except Exception as e : # 반환된 e가 ClientException 일 경우 e.code 사용불가
print( getattr(e, 'http_status', getattr(exc, 'code', None)) )
Comments