Python의 예외 잡기 방법

高洛峰
풀어 주다: 2017-03-03 11:22:28
원래의
1395명이 탐색했습니다.

Python에서 예외를 처리하려면 try-Exception 코드 블록이 사용됩니다. Try-Exception 코드 블록은 Python이 수행할 작업을 넣는 동시에 예외가 발생하면 수행할 작업을 Python 프로그램에 알려줍니다. 실제로 try-Exception 기능을 시작하는 방법은 여러 가지가 있습니다. 책에서는 고급 장에 설명하고 있으며 일반적으로 시작할 때 그 사용법에 대해 언급하지 않습니다. 특히 운영 및 유지 관리 담당자로서 쉘을 자주 작성하는 경우라면 더욱 그렇습니다. 아마도 Python으로 전환한 후에는 이 기능을 거의 사용하지 않을 것입니다. 쉘과 Python의 중요한 차이점은 Python이 실제 프로그래밍 언어라는 것입니다. php 및 java와 같은 다른 프로그래밍 언어는 예외 포착 기능을 제공합니다. 이러한 프로그램으로 작성된 코드는 견고해야 합니다. 다른 사람이 작성한 일부 프로그램 코드, 특히 일부 소켓 프로그래밍 코드를 읽으면 그 중 대부분이 try...exc...이고 일부는 다양한 상황을 판단하기 위한 여러 예외가 있습니다. 이 기능 너무 유용해요, 한번 해보세요. 빨리 사용법을 배워봅시다.

먼저 구문을 살펴보겠습니다. 구문은 매우 간단합니다. 실행하려는 코드 블록을 try-Exception에 넣으면 됩니다. 예:

try:
  somecode1
except 异常类型/名称:
  somecode2
로그인 후 복사

상황이 복잡할 경우 문장을 제외하고 여러 개를 사용할 수 있는 가장 간단한 경우입니다. 예:

try:
  somecode0
except 异常类型/名称1:
  somecode1
except 异常2:
  somecode2
except 异常3:
  somecode3
로그인 후 복사

else, finally 등을 포함하여 try-Exception의 고급 사용법이 있습니다. 오늘은 자세히 다루지 않겠습니다. 관심이 있으시면 직접 자세히 공부해 보세요.

다음으로 간단한 예를 살펴보겠습니다. 우리가 흔히 파일을 읽고 쓰는 경우가 있는데, 파일을 찾을 수 없거나 파일 이름이나 경로가 올바르지 않은 경우가 있습니다. Try-Exception 코드 블록은 직관적인 방식으로 처리됩니다.

try:
  withopen(filename, 'r+') as fp:
    data = fp.read()
exceptIOError:
  msg = 'sorry, can not read or write this ' + filename
  printmsg
로그인 후 복사

두 개의 숫자를 빼는 여러 예외의 또 다른 예를 살펴보겠습니다.

loop = 1
while loop == 1:
  try:
    a = input('请输入第一个数字> ')
    b = input('请输入第二个数字 > ')
  exceptNameError:
    print "请输入数字,不能输入字母"
 continue
  exceptSyntaxError:
    print "请仅输入一个数字."
 continue
  print a - b
  try:
    loop = input('按1再开始 > ')
  except (NameError,SyntaxError):
    loop = 0
로그인 후 복사

위의 두 가지 예는 try-Exception의 가장 간단한 사용법입니다. 스크립트의 견고성을 보장하려면 앞으로 try-Exception 코드 블록을 더 많이 사용할 수 있습니다. . 이것은 귀하의 코드를 더욱 전문적으로 보이게 만듭니다.

파이썬의 예외 잡기 방법과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿