Front End/Python

[Python] python 예외처리(조건문)

TTOWA 2023. 8. 24. 16:19

1. try + except

  • 오류의 종류에 상관없이 except을 실행합니다.
try: #실행 코드
  x = 0
  y = 5 / x 
except:
  print('Error') #예외가 발생할때 실행 코드


#결과 
Error

2. try + except + else

  • 오류가 없다면 else 절의 코드가 작동합니다.
try: #실행 코드
  x = 1
  y = 5 / x
except:
  print('Error') #예외가 발생할때 실행 코드
else:
  print('정상 실행') #예외가 발생하지 않을때 실행 코드
  print(y)

#결과 
정상 실행
5

3. try + except + finally

  • 오류의 상관없이 finally 절의 코드가 작동합니다.
try: #실행 코드
  x = 1
  y = 5 / x
except:
  print('Error') #예외가 발생할때 실행 코드
else:
  print('정상 실행') #예외가 발생하지 않을때 실행 코드
  print(y)
finally:
  print('마지막') # try절이 실행되고 가장 마지막에 실행

#결과 
정상 실행
5
마지막

4. raise(오류 강제 발생)

  • 오류를 강제로 발생 시킬때 사용합니다.
  • 원하는 코드 부분에서 오류를 발생시킬수 있습니다.
  • 구현되지 않는 부분에 일부러 발생시켜 잊어버리지 않도록 할때도 사용합니다.
def putName():
  name='' 
  if len(name)<1:
    raise ZeroDivisionError
  print(name)

try:
  #실행코드
  putName()
except ZeroDivisionError:
  print('이름을 입력해 주세요.')

#결과
이름을 입력해 주세요.

5. pass(오류 회피하기)

try: 
  #실행 코드
  x = 0
  y = 5 / x 
except:
  pass #예외가 발생되어도 except 실행 시키지 않고 pass 한다.

6. 예의 에러 메시지 가져오기

try:
  #실행 코드
except 예외 as 변수:
  #예외가 발생했을 코드
    

excrpt IndexError as e:
  print('잘못된 index입니다., e')

#결과
잘못된 index입니다. list index out of range

※ python에서 발생하는 Error list 확인하기
https://docs.python.org/3/library/exceptions.html

 

Built-in Exceptions

In Python, all exceptions must be instances of a class that derives from BaseException. In a try statement with an except clause that mentions a particular class, that clause also handles any excep...

docs.python.org

 

 


이 글이 도움이 되었다면 ♡(공감), 광고 눌러 주세요.

큰 도움이 됩니다.

 

반응형