2016-09-22 2 views
-2

try ... except를 사용할 때 기본 클래스 "Except"사용과 "ImportError"또는 "IOError"또는 기타 특정 예외 사용과의 차이점은 무엇입니까? 예외. 서로간에 장단점이 있습니까?Python 예외 기본 클래스 대 특정 예외

+0

특히 https://docs.python.org/3/tutorial/errors.html을 확인하고 "의 유형 키워드를 제외한 이름을 딴 예외와 일치하는 경우"를 참조하십시오 당신이 except 절에서 무엇을 할 수 있는지에 관한 것이 아니라 컨트롤이 어떻게 움직이는 지에 관한 것입니다. –

답변

5

기본 예외를 catch하지 마십시오. 처리 방법을 알고있는 특정 예외 만 캡처하십시오. 다른 모든 것은 혼자 남겨져 있어야합니다. 그렇지 않으면 잠재적으로 중요한 오류가 숨어 있습니다.

0

물론 해당 문제에 대해 올바른 예외를 사용하면 이점이 있습니다. 그러나 Python은 이미 코딩 문제에 대한 모든 가능한 오류를 정의했습니다. 하지만 Exception 클래스를 상속 받아 자신 만의 예외 클래스를 만들 수 있습니다. 이렇게하면 코드의 특정 부분에 대해 의미있는 오류를 만들 수 있습니다. 심지어 expections는 이와 같은 인쇄 오류를 만들 수 있습니다.

SomeError: 10 should have been 5. 

코드를 쉽게 디버깅 할 수 있습니다.

For more info.