Python 이상 검출 및 처리 방법

2269 단어 python이상 하 다
포획 이상

#        append  
a = 123
a.apppend(4)
이 프로그램 을 실행 할 때 던 집 니 다:

AttributeError: 'int' object has no attribute 'apppend'
우 리 는 try:exception 문 구 를 사용 하여 캡 처 합 니 다.

#     
a = 123
try:
  a.apppend(4)
except AttributeError:
   print("        append  ")
출력 결 과 는 다음 과 같 습 니 다.

        append  
여러 개 이상 캡 처

#     
a = 123
try:
  # a.apppend(4)
  print(1/0)
except AttributeError:
   print("        append  ")
except ZeroDivisionError:
   print("0      ")
출력 결과:

0      
물론 JDK 1.7 처럼 이상 을 함께 놓 을 수도 있다.

#     
a = 123
try:
  a.apppend(4)
  # print(1/0)
except (AttributeError,ZeroDivisionError) as e:
   print("     %s" %e)
이상 유형 을 원조 에 배치 하고 구체 적 인 이상 정 보 를 인쇄 하려 면 이상 정 보 를 이름 을 바 꾸 어 인쇄 할 수 있 습 니 다.
출력 결 과 는 다음 과 같 습 니 다.

     'int' object has no attribute 'apppend'
예외 로 모든 이상 캡 처

#     
a = 123
try:
  print(1/'kk')
except Exception as e:
   print("     %s" %e)
통일 적 으로Exception으로 캡 처 하고 출력 결 과 는 다음 과 같 습 니 다.

     unsupported operand type(s) for /: 'int' and 'str'
사용자 정의 이상

#     
a = 123
try:
  if a == 123:
    raise NameError("a     123  ")
except NameError as e:
   print("     %s" %e)
raise 키워드 와 NameError 를 사용 할 수 있 습 니 다.출력 결 과 는 다음 과 같 습 니 다.

     a     123  
finally 문장

try:
  print(1/0)
except Exception as e:
   print("     %s" %e)
finally:
   print("  finally")
실행 결 과 는 다음 과 같 습 니 다.

     division by zero
  finally
한 번 던 져 도 finally 문 구 는 실 행 될 것 임 을 설명 한다.
총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.

좋은 웹페이지 즐겨찾기