팁: Python을 제외하고는 베어 사용을 피하세요.

Python에서 키보드 인터럽트 및 시스템 종료는 예외(예: KeyboardInterruptSystemExit )를 사용하여 전파됩니다. 결과적으로 베어except 절은 사용자가 Ctrl + C를 누르는 것과 같은 것을 포착할 것입니다.

다음 코드를 고려하십시오. 사용자가 프로그램을 종료하려고 하면 except 절에서 키보드 인터럽트를 포착합니다. 이는 사용자가 유효한 입력을 제공할 때까지 실제로 프로그램을 종료하는 것을 방지하기 때문에 바람직하지 않습니다.

while True:
  try:
    s = input('Input a number:')
    x = int(s)
  except:
    print('Not a number, try again!')


이를 방지하는 방법은 사용자가 갇히지 않도록 하는 Exception를 사용하는 것입니다. 이 접근 방식의 유일한 문제는 Exception가 일반적이며 여기에 던져진 거의 모든 것을 처리한다는 것입니다.

while True:
  try:
    s = input('Input a number:')
    x = int(s)
  except Exception:
    print('Not a number, try again!')


오류를 처리하는 올바른 방법은 예상되는 오류 유형을 지정하는 것입니다. 예를 들어, 이 코드 샘플에서는 ValueError가 적합합니다.

while True:
  try:
    s = input('Input a number:')
    x = int(s)
  except ValueError:
    print('Not a number, try again!')


일반적으로 적절한 오류 유형과 함께 except를 사용하여 예상되는 실패 상태만 처리해야 합니다. 예상치 못한 오류의 경우 프로그램이 자연스럽게 실패하고 종료되도록 그냥 두는 것이 더 나을 수 있습니다.


짧은 고품질 코드 스니펫과 기사가 마음에 드십니까? 우리도 그래! 이와 같은 더 많은 기사를 보려면 30 seconds of code을 방문하거나 일일 JavaScript, React 및 Python 스니펫을 보려면 팔로우하세요! 👨‍💻

좋은 웹페이지 즐겨찾기