Python 에서 흔히 볼 수 있 는 이상 분류 와 처리 방법

Python 에서 흔히 볼 수 있 는 이상 유형 은 다음 과 같 습 니 다.
1.Assertion Error:assert 가 조건 이 가짜 라 고 단언 할 때 던 진 이상
2.AttributeError:방문 대상 속성 이 존재 하지 않 을 때 던 지 는 이상
3.IndexError:대상 색인 범 위 를 초과 할 때 던 지 는 이상
4.KeyError:사전 에서 존재 하지 않 는 key 가 던 진 이상 을 찾 습 니 다.
5.NameError:존재 하지 않 는 변수 에 접근 할 때 던 지 는 이상
6.OSError:운영 체제 에서 발생 하 는 이상
7.SyntaxError:문법 오류 시 이 이상 을 던 집 니 다.
8.TypeError:형식 오류,통상 적 으로 통 하지 않 는 형식 간 의 동작 에 이 이상 이 발생 할 수 있 습 니 다
9.ZeroDivisionError:수학 연산 을 할 때 0 으로 나 누 면 이 이상 이 발생 합 니 다.
더 많은 이상 에 대해 서 는 공식 문 서 를 참고 하 십시오.
2.7 버 전 링크
3.6 버 전 링크
Python 이상 처리:
예 1:이상 이 생기 면 가장 간단 한 처리 방법

#!/usr/bin/python 
#coding:utf8 
 
#try except     
 
a = 1 
b = 2 
 
try : 
  assert a > b     #  a>b        AssertionError   
except AssertionError:  #     AssertionError     except       
  print ( "a<b" ) 

위의 예 출력 결 과 는 ab 가 가짜 이기 때문에 이 때 Assertion Error 이상 을 던 집 니 다.이 이상 을 포착 하면 except 코드 블록 에 있 는 문 구 를 실행 합 니 다.
예 2:except 캡 처 이상 여러 개 사용

#!/usr/bin/python 
#coding:utf8 
 
#try   except    , try        ,             
 
a = 1 
b = 2 
c = "1" 
 
try : 
  assert a < b 
  d = a + c 
except AssertionError: 
  print ( "a<b" ) 
except TypeError,e:   #    e       
  print (e) 

위 에서 실 행 된 결 과 는 unsupported operand type(s)for+:'int'and'str'로 정형 과 문자열 형 을 지원 하지 않 습 니 다.앞 에 단언 한 것 이 사실 이기 때문에 Assertion Error 이상 이 나타 나 지 않 습 니 다.이때 다음 문 구 를 계속 가 르 쳤 습 니 다.이때 TypeError 이상 이 발생 했 습 니 다.이때 except TypeError 아래 코드 블록 을 실행 하고 뒤의 e 는 이상 한 오류 정 보 를 대표 합 니 다.그래서 여기 결 과 는 이상 한 오류 메 시 지 를 출력 한 것 입 니 다.
예 3:try 와 except 와 else 의 사용

#!/usr/bin/python 
#coding:utf8 
 
a = 1 
b = 2 
c = "1" 
 
try : 
  assert a < b 
  d = a + b 
except AssertionError,e: 
  print ( "a<b" ) 
except TypeError,e: 
  print (e) 
else :          # try                         
  print ( "Program execution successful" ) 

위의 실행 결 과 는?
예 4:try 와 except 는 else 와 finally 를 결합 하여 사용 합 니 다(else 가 없 을 수 있 습 니 다)

#!/usr/bin/python 
#coding:utf8 
 
#try   except    , try        ,             
 
a = 1 
b = 2 
c = "1" 
 
try : 
  assert a < b 
  d = a + b 
  txt = open ( "/root/1.txt" ) 
  txt.write( "test" )    #         r    ,     IOError   
except AssertionError,e: 
  print ( "a<b" ) 
except TypeError,e:   #    e       
  print (e) 
except IOError,e: 
  print (e) 
else :          #                    
  print ( "Program execution successful" ) 
finally :         
#           finally       ,        ,              ,          
  txt.close() 

좋은 웹페이지 즐겨찾기