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()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.