> 백엔드 개발 > 파이썬 튜토리얼 > Python의 예외 처리(코드 예)

Python의 예외 처리(코드 예)

不言
풀어 주다: 2019-01-25 10:02:47
앞으로
2473명이 탐색했습니다.

이 문서의 내용은 Python의 예외 처리(코드 예제)에 대한 내용입니다. 필요한 친구가 참고할 수 있기를 바랍니다.

일부 코드가 잘못될 수 있다고 생각되면 이 코드를 실행해 볼 수 있습니다. 오류가 발생하면 후속 코드는 계속 실행되지 않고 오류 처리 코드, 즉 예외로 바로 점프합니다. 문 블록이 실행된 후 finally 문 블록이 있으면 이 시점에서 실행이 완료됩니다.

Python의 try 문에는 두 가지 스타일이 있습니다

  1. 예외 처리(try/Exception/else)

  2. 하나는 예외 발생 여부(try/finally)에 관계없이 마지막 코드가 실행된다는 것입니다

try/Exception/else 스타일

try:
    <语句> #运行别的代码
except <名字>: 
    <语句> #如果在try部份引发了&#39;name&#39;异常
except <名字>,<数据>:
    <语句> #如果引发了&#39;name&#39;异常,获得附加的数据
else:
    <语句> #如果没有异常发生
로그인 후 복사

try의 작동 원리는 try 문을 시작한 후 Python이 현재 프로그램의 컨텍스트에서 이를 표시하므로 예외가 발생하면 여기로 돌아올 수 있고 try는 절이 먼저 실행되고, 다음에 일어나는 일은 실행 중에 예외가 발생하는지 여부에 따라 달라집니다.
1. try 이후 명령문이 실행될 때 예외가 발생하면 Python은 예외가 처리된 후 try 명령문과 일치하는 첫 번째 예외 절을 실행하기 위해 다시 점프합니다. 예외 처리) 새로운 예외가 발생합니다.
2. try 이후 문에서 예외가 발생했지만 일치하는 예외 절이 없으면 예외는 상위 try 또는 프로그램의 최상위 수준에 제출됩니다(이렇게 하면 프로그램이 종료되고 기본 오류가 인쇄됩니다). 메시지 ).
3. try 절이 실행될 때 예외가 발생하지 않으면 Python은 else 문 다음에 문을 실행하고(else가 있는 경우) 제어 흐름은 전체 try 문을 통과합니다.

try/finally 스타일

try:
    <语句>
finally:
    <语句> #退出try时总会执行finally语句
로그인 후 복사

Python은 try 절이 실행될 때 예외가 발생하는지 여부에 관계없이 항상 finally 절을 실행합니다.
1. 예외가 발생하지 않으면 Python은 try 절을 실행한 다음 finally 절을 실행하고 계속됩니다.
2. try 절에서 예외가 발생하면 Python은 다시 돌아와 finally 절을 실행한 다음 상위 try에 예외를 제출합니다. 제어 흐름은 전체 try 문을 통과하지 않습니다.

try/finally는 예외 발생 여부에 관계없이 일부 코드가 실행되도록 하려는 경우에 유용합니다.

이것은 파일을 열 때 유용합니다. 마지막에 항상 파일을 닫습니다

문 절 형식 테이블을 시도합니다.
제외: 모든 예외를 포착합니다.
제외 이름: 특정 예외만 포착합니다.
제외 이름, 값: 예외를 포착합니다. 추가 데이터(예외 정보를 값에 저장)
out (name1, name2): 나열된 예외 잡기
else: 예외가 없는 경우
finally: 항상 실행

try:
   f = open(&#39;file.txt&#39;)
except IOError as e:
   print e
else:
   print &#39;wrong&#39;
로그인 후 복사
[Errno 2] No such file or directory: &#39;file.txt&#39;
로그인 후 복사

try/excess/finally:

#1:如果x没有异常,执行z,i
#2:如果x有异常, 
#一:如果except捕捉到异常则执行y,i
#二:没捕捉到,执行i,然后返回内置异常处理 

try: 
    x 
except(name): 
    y
else:
    z
finally:
    i
로그인 후 복사

위 내용은 Python의 예외 처리(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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