예외 처리: Try/Except 대 If/Else
코드에서 잠재적인 오류나 예외에 직면할 때 프로그래머는 종종 사용을 망설입니다. 블록을 시도/제외하거나 if/else 문을 사용하세요. 이 결정은 사소해 보일 수 있지만 코드 디자인, 성능 및 가독성에 큰 영향을 미칠 수 있습니다.
Try/Except 대 If/Else: 선호되는 접근 방식
일반 PEP 20에서 지원하는 합의는 다음과 같은 경우 if/else보다 try/Exception을 우선시하는 것입니다.
속도 최적화
목록의 요소에 액세스하는 예를 생각해 보세요.
<code class="python">try: x = my_list[index] except IndexError: x = 'NO_ABC'</code>
여기서 목록에서 인덱스가 발견될 가능성이 높을 때 try/exc를 사용하는 것이 IndexError 발생을 최소화하는 데 유리합니다. 반대로 if/else 접근 방식에는 추가 조회가 필요합니다.
<code class="python">if index < len(my_list): x = my_list[index] else: x = 'NO_ABC'
예외 처리 및 가독성
Python은 EAFP의 일부로 예외 사용을 권장합니다. (허락보다 용서를 구하는 것이 더 쉽다) 철학. 프로그래머는 try/exc 블록에서 오류를 적절하게 포착함으로써 예외가 자동으로 전달되지 않도록 보장합니다. 또한 try/Exception을 사용하면 더욱 간결하고 우아한 코드를 만들 수 있습니다.
<code class="python">Worse (LBYL: 'look before you leap'): if not isinstance(s, str) or not s.isdigit(): return None elif len(s) > 10: #too many digits for int conversion return None else: return int(s) Better (EAFP: Easier to ask for forgiveness than permission): try: return int(s) except (TypeError, ValueError, OverflowError): #int conversion failed return None</code>
위 내용은 Try/Except와 If/Else: 오류 처리에 각각을 사용해야 하는 경우의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!