Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

RUBY

try ~ except ~ else, finally 본문

프로그래밍 언어/Python

try ~ except ~ else, finally

ruby-jieun 2023. 1. 9. 23:37

 

 

try ~ except ~ else

 


 

 

try ~ except ~ else

예외가 발생하지 않은 경우 실행하는 구문이다.

 

 else는 except 바로 다음에 와야 하며 except를 생략할 수 없다.

try:
    실행할 코드
except:
    예외가 발생했을 때 처리하는 코드
else:
    예외가 발생하지 않았을 때 실행할 코드

10을 입력된 숫자로 나누고 예외가 발생하지 않으면 계산 결과를 출력

try:
    x = int(input('나눌 숫자를 입력하세요: '))
    y = 10 / x
except ZeroDivisionError:    # 숫자를 0으로 나눠서 에러가 발생했을 때 실행됨
    print('숫자를 0으로 나눌 수 없습니다.')
else:                        # try의 코드에서 예외가 발생하지 않았을 때 실행됨
    print(y)

2를 입력하면

나눌 숫자를 입력하세요: 2 (입력)
5.0

2를 입력했으므로 y = 10 / x에서 예외가 발생하지 않는다.

따라서 else의 코드가 실행되고 계산 결과가 출력된다.

0을 입력해서 예외가 발생하면 except의 코드만 실행되고 else의 코드는 실행되지 않는다.

나눌 숫자를 입력하세요: 0 (입력)
숫자를 0으로 나눌 수 없습니다.

 

 

finally

 


 

 

예외 발생과 상관없이 항상 실행한다.

finally는 except와 else를 생략할 수 있다.

try:
    실행할 코드
except:
    예외가 발생했을 때 처리하는 코드
else:
    예외가 발생하지 않았을 때 실행할 코드
finally:
    예외 발생 여부와 상관없이 항상 실행할 코드

try의 코드가 끝나면 항상 '코드 실행이 끝났습니다.'를 출력

try:
    x = int(input('나눌 숫자를 입력하세요: '))
    y = 10 / x
except ZeroDivisionError:    # 숫자를 0으로 나눠서 에러가 발생했을 때 실행됨
    print('숫자를 0으로 나눌 수 없습니다.')
else:                        # try의 코드에서 예외가 발생하지 않았을 때 실행됨
    print(y)
finally:                     # 예외 발생 여부와 상관없이 항상 실행됨
    print('코드 실행이 끝났습니다.')

2를 입력

나눌 숫자를 입력하세요: 2 (입력)
5.0
코드 실행이 끝났습니다.

2를 입력하여 예외가 발생하지 않았으므로 계산 결과가 출력되고, '코드 실행이 끝났습니다.'도 출력된다.

 

0을 입력

나눌 숫자를 입력하세요: 0 (입력)
숫자를 0으로 나눌 수 없습니다.
코드 실행이 끝났습니다.

숫자를 0으로 나눠서 예외가 발생했지만 finally는 항상 실행되므로 '코드 실행이 끝났습니다.'가 출력된다.

 

 

 

 

'프로그래밍 언어 > Python' 카테고리의 다른 글

텍스트파일 쓰기  (0) 2023.01.10
Exception  (0) 2023.01.09
예외, 예외처리  (0) 2023.01.09
추상클래스  (0) 2023.01.09
오버라이딩  (0) 2023.01.09
Comments