2011-05-02 2 views

답변

2

저는 가끔 평결을 내고 "가끔은 당신이 필요하기"때문에 "나쁘다"고 말할 것입니다. 파이썬은 가끔씩 의도적으로 예외를 던지기도하지만, 코드의 논리적 인 흐름에 대해 이해할 수있는 경우에는 try/catch 중첩을 사용하는 것이 좋습니다 (EAFP 모토).

하지만 내 추측은 대부분의 시간은 당신이하지 않는다는 것입니다. 따라서 더 나은 질문은 해당 코드가 필요한 특정 사용 사례를 제시하는 것입니다.

+2

나는 이것에 동의한다. 나는 지금 중첩 예외를 사용하고 나 자신도 "본질적으로"나쁘지 않습니다. 때로는 코드의 가독성을 향상시킬 수도 있습니다 ... – sbrattla

+0

중간 문장의 일부 오류를 잡는 유일한 방법은 ... 오류가 발생하거나 다른 모든 명령이 쓸모 없게되고 최상위 명령문이 쓸데없는 것입니다. 왜냐하면 나는 그들 모두가 최고 성명을 이행하기 위해 성취되어야하기 때문입니다. (즉, 외부 API [Google Contacts]로 데이터를 전송할 클래스의 메소드에 매개 변수를 전달). 감사합니다. :) –

+1

@ Jorge : 당신이 단지 몇 가지 조건을 테스트하고 있다면 if/else 문이 더 적합 해 보일 것입니다. try/except를 숨겨진 goto 문으로 사용할 수 있습니다. 더 자세한 코드를 게시하면보다 구체적인 답변을 얻을 수 있습니다! – Ber

3

아니요, 다소 일반적인 것입니다 (키워드는 이 아닌 catch 제외). 그것은 당신이해야 할 일과 디자인에 달려 있습니다.

나쁘다고 생각하는 것은 좀 더 구체적인 것 (예 : KeyError)이 아닌 최상위 수준 인 Exception 클래스를 잡는 것입니다. 또는 같은 인상.

+0

매우 사실 ... 그것은 예외입니다. 내 잘못이야. 지금 Exception 클래스를 잡아 먹겠지 만 나중에 더 많은 내용이 정의되면 나중에 확장 할 것이므로 더 나은 컨트롤을 제공 할 것이고 이런 종류의 구조는 필요 없을 것입니다. 설명 해 주셔서 감사합니다. 많은 감사를드립니다. –

관련 문제