Python 은 Try 구문 으로 이상 한 인 스 턴 스 방법 을 캡 처 합 니 다.

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

---      

좋은 웹페이지 즐겨찾기