day13-이상 포획 및 학생 관리 시스템

1781 단어
==============이상 포획=================
1. 이상 포획의 역할:
프로그램이 이상을 보낼 때 기본적으로 프로그램이 붕괴되어 뒤로 실행할 수 없습니다. 이상을 포착하면 프로그램이 이상이 발생할 때 붕괴되지 않고 계속 뒤로 실행할 수 있습니다.
1) 사용 시기:
일반적으로 코드에 이상이 생길 수 있다는 것을 분명히 알면서도 코드 수정을 통해 피할 수 없을 때
2. 예외 구문 캡처:
문법1: (포획으로 인한 이상)
try:코드 블록 1 except:코드 블록 2
2) 설명:
try, except - 키워드, 고정 쓰기
코드 블록 1 - 예외 코드 캡처 필요
코드 블록 2 - 예외를 캡처한 후 수행해야 하는 코드
3) 프로세스:
먼저 코드 블록 1을 실행하고 실행 과정에 이상이 생기면 프로그램이 붕괴되지 않습니다!직접!코드 블록 2를 실행하지만 이상이 없으면 코드 블록 2를 실행하지 않고 바로 뒤에 있는 코드를 실행합니다
2. 문법2: (특정한 이상 유형을 포획) 이런 것이 비교적 자주 사용된다.
try: 코드 블록 1 except 예외 유형: 코드 블록 2
1) 실행과정: 이상에 기초하여 이상 유형이 except 뒤의 이상 유형인지 판단하고, 만약 그렇지 않으면 코드 블록 2를 실행하며, 그렇지 않으면 바로 오류를 보고한다.
3. 문법3: (다양한 이상 유형 포착)
try: 코드 블록 1 except(이상 유형 1, 이상 유형 2, 이상 유형 3...):코드 블록 2
4.문법4: (여러 가지 이상 유형을 포획하고 서로 다른 이상에 대해 서로 다른 코드를 집행한다)
try: 코드 블록 1 except 예외 유형 1: 코드 블록 2 except 예외 유형 2: 코드 블록 3...
try:
    nums = [1, 2, 3]
    print(nums[5])
    print('==========')
except:
    print('    ')

print('=========')

특정 예외 캡처 인스턴스:
nums = [1, 2, 3]
person = {'name': '  ', 'age': 18, 'gender': ' '}
try:
    sco = person['csore']
    num = nums[4]
except KeyError:
    print('     ')

3.finally :
위의 네 가지 문법은 모두finally를 마지막에 추가할 수 있다.
그리고 모든 경우에 안에 있는 코드를 실행합니다. (이상이 잡히지 않아도 코드가 잘못 보고되었거나! 실행되었다는 뜻입니다!)
finally의 예:
try:
    nums = [1, 2, 3]
    num = nums[0]
except KeyError:
    print('     ')
finally:
    print('finally       ')

4. 이상 던지기
코드가 어떤 상황에서 주동적으로 붕괴되도록 합니다:raise 이상 형식 (사용자 정의 가능)
raise 인스턴스:
 raise KeyError

좋은 웹페이지 즐겨찾기