반응형
출처 : https://stackoverflow.com/questions/32613375/python-2-7-exception-handling-syntax
파이썬 2.7 예외 처리 구문
파이썬 2.7에서 try exception 사용에 관해 좀 혼란스럽습니다.
try:
raise valueError("sample value error")
except Exception as e:
print str(e)
try:
raise valueError("sample value error")
except Exception,exception:
print str(exception)
try:
raise valueError("sample value error")
except exception:
print str(exception)
try:
raise valueError("sample value error")
except Exception:
print str(Exception) # 이는 객체 참조만 출력합니다.
위의 예시를 이해할 수 있도록 저에게 설명해주실 수 있나요?
4 개의 답변 중 1개의 답변
except 변형의 다른 변형 간의 차이점을 이해하는 데 도움이 되는 몇 가지 개념:
except Exception, e–except Exception as e과 유사하게 더 이상 사용되지 않는 오래된 변형except Exception as e-Exception(또는 모든 하위 클래스)의 예외를 catch하고 추가 처리, 메시징 또는 이와 유사한 것을e변수에 저장합니다.except Exception–Exception타입(또는 모든 하위 클래스)의 예외를 catch하지만 예외에 제공된 값/정보는 무시합니다.except e– 컴파일 오류가 발생합니다. 이것이 파이썬 버전과 관련이 있는지 확실하지 않지만 그렇다면 예외 유형에 신경 쓰지 않고 해당 정보에 액세스하려는 것을 의미해야 합니다.except– 어떤 예외도 포착하고 예외 정보를 무시합니다.
무엇을 사용할지는 많은 요인에 따라 다르지만 예외에 제공된 정보가 필요하지 않은 경우 이 정보를 포착하기 위해 변수를 제시할 필요가 없습니다.
catch할 Exception 타입과 관련하여 정확한 유형의 예외를 포착하도록 주의하십시오. 일반적인 모든 예외의 catch를 작성하는 경우 except Exception을 사용하는 것이 정확할 수 있지만 귀하가 제공한 예제의 경우 실제로 except ValueError 오류를 직접 사용하도록 선택할 것입니다. 이렇게 하면 잠재적으로 다른 예외가 코드의 다른 수준에서 적절하게 처리될 수 있습니다. 요점은 처리할 준비가 되지 않은 예외를 catch하지 마십시오.
원하는 경우 공식 문서에서 python 2.7 예외 처리 또는 사용 가능한 python 2.7 예외에 대해 자세히 읽을 수 있습니다.
반응형
'Python' 카테고리의 다른 글
| quickfix에서 시퀀스 번호 리셋 (0) | 2022.04.14 |
|---|---|
| 어떻게 변수가 존재하는 지 체크하나요? (0) | 2022.03.28 |
| fix 세션을 로그아웃하는 방법? (0) | 2022.03.14 |
| QuickFix에서 로그온 메세지에 비밀번호 추가하기 (0) | 2022.03.05 |
| 하나의 표현식으로 (딕셔너리의 합집합을 취하도록) 두 개의 딕셔너리를 어떻게 합치나요? (0) | 2022.01.24 |