하마가 분석하마

[python] try | except | else | finally 본문

python

[python] try | except | else | finally

Rrohchan 2022. 1. 16. 15:10

 

try | except | else | finally

 

try | except
  • try : 기본적으로 실행하는 코드
  • except : 에러가 발생했을 경우 실행할 코드
## 예외 발생 시 except 문 출력
try:
    print(5/0)
except:
    print('wrong division')

코드 결과

## 발생 오류를 except 절에 작성하는 것도 가능
try:
    print(5/0)
except ZeroDivisionError:
    print('wrong division')

코드 결과

## 발생 오류와 오류 메시지 변수까지 except 절에 작성하는 것
try:
    print(5/0)
except ZeroDivisionError as e:
    print(e)

 

try | except | else
  • try : 기본적으로 실행하는 코드
  • except : 에러가 발생했을 때 실행하는 코드
  • else : except 절을 실행하지 않았을 경우 실행되는 절
try:
    print(5/1)
except:
    print('error')
else:
    print('no error')

 

try | except | finally
  • finally 절은 try 절에서 예외의 발생여부에 관계없이 항상 실행되는 절
try:
    print(5/0)
except:
    print('error')
finally:
    print('end')

 

try | except | except 
  • 여러 개의 에러 처리하기
## NameError가 발생하지 않는 이유는 ZeroDivisionError가 먼저 발생하기 때문
try:
    print(5/0)
    print(C)
except NameError as e:
    print(e)
except ZeroDivisionError as e:
    print(e)

코드 결과

## 오류 회피하기
try:
    print(5/0)
    print(C)
except NameError as e:
    print(e)
except ZeroDivisionError as t:
    print(t)

코드 결과

## 일부러 오류 발생시키기
try:
    age = int(input())
    if age<0:
        raise NotImplementedError
    print(age)
    
except NotImplementedError:
    print('NotImplementedError')