hgk0404.tistory
Code After Work
hgk0404.tistory

공지사항

  • 블로그
전체 방문자
오늘
어제
  • 전체 카테고리 N
    • [AI] N
      • [Numpy, Pandas]
    • [MLOps]
      • [FastAPI]
    • [Computer Science]
      • [컴퓨터네트워크]
      • [알고리즘]
      • [자료구조 in C]
      • [C & C++]
      • [이산수학]
      • [Math]
    • [Cloud]
      • [AWS]
      • [NCP]
      • [Kubernetes]
      • [Terraform]
    • [Dev]
      • [가상환경]
      • [Linux]
      • [Docker]
    • [Python]
    • [Coding Test]
      • [백준]
      • [프로그래머스]
      • [SQL]
    • [WEB]
    • [일상]
    • [엑셀]
    • [금융]

인기 글

최근 글

최근 댓글

250x250
hELLO · Designed By 정상우.
hgk0404.tistory

Code After Work

[Python]

[Python] 파이썬 예외처리(try~except)

2022. 9. 17. 14:48
728x90

예외(exception)란 코드를 실행하는 중에 발생하는 예기치 못한 상황을 의미합니다.

 

 

다음과 같은 함수를 가정해 보겠습니다.

def div(x):
    return 20 // x

 

 

인자 x에 4를 넣으면 결과는 5가 나오게 됩니다.

 

 

정상적인 출력이죠, 하지만 4가 아닌 0을 넣는다면 결과는 어떻게 될까요?

 

 

def div(x):
    return 20 // x
print(div(0))

 

 

결과)

ZeroDivisionError: integer division or modulo by zero

 

 

0으로는 나눗셈을 할 수 없다고 나옵니다.

 

 

이렇게 예상치 못한 상황에 코드가 멈추지 않고 계속 실행되도록 하기위해 우리는 예외처리를 해줄 수 있습니다.

 

 

# try~except 사용하기

 

 

try~except구문을 사용하면 예상치 못한 상황에도 코드가 멈추지 않고 작동할 수 있습니다.

 

 

기본형식은 다음과 같습니다.

try:
    실행할 코드
except:
    예외일때 실행할 코드

 

 

숫자를 0으로 나누었을때의 상황으로 돌아가서 try~except문을 실행해 보겠습니다.

 

 

def div(x):
    return 20 // x
try:
    print(div(0))
except:
    print('나눌 수 없습니다.')

 

 

결과)

나눌 수 없습니다.

 

 

원리는 다음과 같습니다.

try~except구문의 원리

 

 

# 특정 상황만 예외처리하기

 

 

모든 상황(else)가 아닌 특정 상황(elif)만 예외처리하는 방법이 있습니다.

 

 

기본형식은 다음과 같습니다.

try:
    실행할 코드
except 예외이름:
    예외가 발생했을 때 처리하는 코드

 

 

입력을 받을 데이터의 개수를 정해주지 않을때 사용할 수 있습니다.

 

 

예시)

while True:
    try:
        print(input())
    except EOFError:
        print('입력이 끝났습니다.')
        break

 

 

다음과 같은 문제에서 예시를 찾을 수 있습니다.

 

 

파이썬의 input()은 입력값이 주어지지 않으면 EOFError를 발생시키는데 EOFError가 발생할때 while문을 끝내는 방법입니다.

 

 

 

728x90
저작자표시 동일조건 (새창열림)

'[Python]' 카테고리의 다른 글

[Python] 딕셔너리 최댓값, 최솟값 구하기 / 최댓값을 가지는 key 구하기  (0) 2023.10.05
[Python] 파이썬 정규표현식(regular expression)  (0) 2023.07.04
[Python] 파이썬 깊은복사(DeepCopy)  (0) 2022.09.15
[Python] 파이썬 : 람다(lambda) 함수  (0) 2022.08.19
[Python] 파이썬 진수 변환 hex(), oct(), bin(), int()  (0) 2022.08.07
'[Python]' 카테고리의 다른 글
  • [Python] 딕셔너리 최댓값, 최솟값 구하기 / 최댓값을 가지는 key 구하기
  • [Python] 파이썬 정규표현식(regular expression)
  • [Python] 파이썬 깊은복사(DeepCopy)
  • [Python] 파이썬 : 람다(lambda) 함수
hgk0404.tistory
hgk0404.tistory
공부기록

티스토리툴바