예외

최조니·2022년 3월 26일
0

Python

목록 보기
12/12

예외

  • Error
    - Syntax Error : 괄호 갯수, 들여쓰기 문제 등등
    - 프로그램 실행 중 발생하는 Error

  • 예외처리
    1) 조건문
    r = input('숫자입력')
    		if r.isdigit(): #입력값이 숫자라면
    	num_r = int(r)    
    	print('원둘레 ', num_r * 2* 3.14)
    		else :
    	print('정수를 입력하세요')
    2) try ~ except
    try:
    	r = int(input("숫자입력: ")) #예외 발생 가능성 있는 코드
    	print('원둘레', r * 3.14* 2)
    
    		except:    # 예외가 발생하면 이곳으로 코드가 이동하고 / 여기서 예외발생시 처리코드입력
    	print('숫자입력 부탁~~!!')

  • try ~ except
    - try : 예외가 발생할 가능성이 있는 코드
    - except : 예외 발생 시 처리해야 하는 코드
    - finally : 오류 발생 여부에 상관없이 항상 실행되는 코드

    Ex. 발생 오류만 포함한 except문

    ```
    try:
    	a = [1, 2, 3, 4]
        print(a[5])
    except IndexError:
    	print("except...as")
    ```

    Ex. except 발생 오류 as 오류 메시지 변수

    ```
    try:
    	a = [1, 2, 3, 4]
        print(a[5])
    except IndexError as e:
    	print(e)		# list index out of range
    ```

    Ex. try문 안에서 여러 개의 except 구문 사용하기

    ```
    try:
    	a = [1,2]
    	print(a[3])
    	4/0             # 윗라인에서 예외가 발생했기 때문에 이부분까지는 못왔다.
    except ZeroDivisionError:  
        print("0으로 나눌 수 없습니다.")
    except IndexError:
        print("인덱싱 할 수 없습니다.")
    ```
    ```
    # ZerroDivisionError와 IndexError 함께 처리
    try:
    	a = [1,2]
    	print(a[3])
    	4/0
    except (ZeroDivisionError, IndexError) as e:
        print(e)
    ```

    Ex. try ~ except ~ else ~ finally

    ```
    try: # 예외 발생 가능성 있는 코드 
    	age = int(input("나이를 입력하세요 : "))
    except: # 예외 발생 시 실행할 코드
    	print("입력이 정확하지 않습니다")
    else: 	# 예외가 발생하지 않았을 때 실행할 코드
    	if age <= 18:
        	print("미성년자는 출입금지입니다.")
        else:
        	print("환영합니다.")
    finally: 	# 예외와 상관없이 무조건 실행되는 코드
    	print("이 부분은 항상 실행됩니다...")
    ```
profile
Hello zoni-World ! (◍ᐡ₃ᐡ◍)

0개의 댓글