Python 은 Try 구문 으로 이상 한 인 스 턴 스 방법 을 캡 처 합 니 다.
코드 를 실행 할 때 여러 가지 오류 가 발생 하여 해석 기 가 실행 을 중단 시 키 고 xxxxxerror 의 힌트 를 알려 줍 니 다.그 다음 에 구체 적 인 오류 에 대한 설명 을 따라 이상 을 일 으 켰 다 고 합 니 다.
사실 이상 하 게 우리 에 게 알려 준 것 은 어떤 유형의 잘못 을 만 났 는 지 이다.xxxxErorr 는 python 에 내 장 된 이상 유형 입 니 다.모든 이상 유형 에는 잘못된 정보 가 있다.
식별 하기 쉽 고 처리 하기 쉬 운 오류 가 있 습 니 다.문법 오류:SyntaxError
코드 를 쓸 때 문법 이 잘못 되 었 기 때문에 대부분의 해석 기 는 pycharm 처럼 미리 알려 줍 니 다.글 을 쓸 때 문법 이 잘못 되면 파도 선 알림 이 있 습 니 다.문법 상의 오 류 는 잘 처리 되 는데,글 을 쓰 는 것 과 오 자 를 쓴 것 과 비슷 하 니 고치 면 된다.
이상 처리 방법:
문법 오 류 를 쉽게 해결 할 수 있 는 것 을 제외 하고 일부 이상 유형 은 코드 의 기능 에 영향 을 주지 않 고 이상 하 게 실행 을 중단 시 키 지 않 으 려 면 이상 을 처리 하고 프로그램 을 중단 하지 않도록 해 야 한다.
예 를 들 어 하나의 사전 personDetail={"name":"대머리 강"}안에 대머리 강 한 자료 가 있 습 니 다.그 자 료 를 찾 으 려 고 하지만 구체 적 으로 어떤 자료 가 있 는 지 모 르 겠 습 니 다.입력 한 키 가 존재 하지 않 으 면 이상 을 일 으 켜 실행 을 중단 할 수 있 습 니 다.뒤에 있 는 코드 도 실행 할 수 없습니다.
다음 코드 가 계속 실 행 될 수 있 도록 이상 을 포착 해 야 합 니 다.python 은 이러한 기능 을 실현 하기 위해 try 문 구 를 제공 합 니 다.
문법:
try:
이 가능 하 다,~할 수 있다,...
예외 유형:
캡 처 한 이상 후 실행 할 코드
try 문장의 작업 원 리 는 다음 과 같다.
1)실행 try 자구 시 이상 이 없 으 면 건 너 뛰 기 except 자구 및 완성 try 문장의 집행.
2)try 자 구 를 실행 할 때 이상 이 발생 하면 except 자구 로 건 너 뜁 니 다.
3)except 자 구 를 실행 하고 이상 을 일 으 키 는 유형 과 except 키워드 뒤의 이상 매 칭 은 이상 을 포착 하고 except 자 구 를 실행 하 는 것 입 니 다.
예 를 들 면:
gtqDict={"Name":" ","Age":34,"Gender":" "
try:
print(gtqDict["Weight"])
except KeyError:
print("Weight , "
print(gtqDict["Age"])
print(gtqDict["Gender"])
예 를 들 어 weight 가 존재 하 든 없 든 프로그램 을 끝 낼 수 있 습 니 다.
여러 개 이상 캡 처:
어떤 이상 이 발생 할 지 확실 하지 않 을 때 이상 유형 을 원 그룹의 형식 으로 패키지 를 모두 except 뒤에 두 고 발생 할 수 있 는 이상 과 일치 시 킵 니 다.
예 를 들 어 대머리 가 강 한 나이 의 Age 키 를 인쇄 하려 면 이 키 가 존재 하 는 지 확인 하지 않 으 면 KeyErorr 를 사용 하고 키 이름 이 정확 한 지 확인 하지 않 으 면 NameErorr 를 사용 합 니 다.
예 를 들 면:
gtqDict={"Name":" ","Age":34,"Gender":" "
try:
print(gtqDict["age"])
except (KeyError,KeyError):
print("age "
print(gtqDict["Name"])
print(gtqDict["Gender"])
이상 한 설명 정보 캡 처:이상 한 구체 적 인 설명 을 인쇄 하여 참고 할 수 있 습 니 다.
try:이상 코드 발생 가능
정보 변수(KeyError,KeyError)를 제외 하고:
print(정보 변수)
예 를 들 면:
gtqDict={"Name":" ","Age":34,"Gender":" "}
try:
print(gtqDict["Weight"])
except (KeyError,KeyError) as e:
print(type(e),e)
print(gtqDict["Name"])
print(gtqDict["Gender"])
모든 이상 캡 처:
앞에서 언급 했 듯 이 이상 을 일 으 키 는 xxxxErorr 는 모두 python 이상 유형 입 니 다.python 의 모든 이상 유형 은 기본 클래스 Exception 의 파생 클래스 입 니 다.
그러면 코드 를 쓸 때 이상 한 구체 적 인 유형 을 지정 하지 않 아 도 됩 니 다.기본 클래스 를 캡 처 하면 모든 이상 을 캡 처 하 는 것 과 같 지만 구체 적 인 이상 정 보 를 출력 하 는 것 은 큰 범위 에서 구체 적 인 오 류 를 찾 는 데 유리 합 니 다.
문법:
try:이상 코드 발생 가능
excepthon as 정보 변수:
print(정보 변수)
예 를 들 면:
gtq=" "
try:
print(name)
except Exception as e:
print(type(e),e
print("gtq")
---<class 'NameError'> name 'name' is not defined
---gtq
이상 한 else 자구:
else 자 구 는 선택 할 수 있 습 니 다.사용 하려 면 모든 except 자구 뒤에 두 어야 합 니 다.
try 자구 에 이상 이 없 는 상태 에서 실 행 됩 니 다.
예 를 들 면:
gtq=" "
try:
name=gtq
except Exception as e:
print(type(e),e)
else:
print("%s "%name)
finally 자구:try 문장의 마지막 에 쓰 십시오.
try 자구 에 이상 이 있 든 없 든 finally 자 구 는 실 행 됩 니 다.
예 를 들 면:
gtq=" "
try:
name=GTQ
except Exception as e:
print(type(e),e)
else:
print("%s "%name)
finally:
print(" ")
---<class 'NameError'> name 'GTQ' is not defined
---
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.