try - except : 의도하지 않은 예외 상황이 발생했을때 처리, 출력하기 위해 사용
x = int(input('나눌 숫자 입력:'))
y = 10/x
print(y)
input을 이용해 간단히 숫자를 나누는 입력문을 작성했을때
0으로 나눈다는 값을 입력할 경우 가장 흔한 예외 상황인 '0으로 나누기 에러(ZeroDivisionError)' 발생한다.
이때 에러 메시지가 아닌 자신이 원하는 메시지가 출력되길 원한다면
try:
x = int(input('나눌 숫자 입력:'))
y = 10/x
print(y)
except:
print('0으로 나눌 수 없음')
----------------
나눌 숫자 입력:0
0으로 나눌 수 없음
try - except를 사용해 원하는 메시지 출력이 가능하다.
try:
x = int(input('3의 배수 입력: '))
if x % 3 != 0:
raise Exception('3의 배수가 아닙니다')
print(x)
except Exception as e:
print('다른 숫자를 입력하세요.', e)
----------------------
3의 배수 입력: 7
다른 숫자를 입력하세요. 3의 배수가 아닙니다
응용하자면, raise Exception을 이용해 원하는 조건에 원하는 메시지 출력이 가능하다.
다만 raise Exception은 try - except가 있어야 사용할 수 있다.
지금은 raise Exception에서 발생한 에러 메시지가 e로 저장되었고
except Exception as e: 구문을 통해 '다른 숫자를 입력하세요.'와 합쳐서 출력한 것이다.
만약 raise Exception을 try - except에 넣고 싶지 않다면
def error():
x = int(input('3의 배수 입력: '))
if x % 3 != 0:
raise Exception('3의 배수가 아닙니다')
print(x)
try:
error()
except Exception as e:
print(e)
---------------------
3의 배수 입력: 7
3의 배수가 아닙니다
def 함수():
를 이용해 함수를 만들었고
뒤에 try - except를 빼서 출력시켜줬다.
* 이제 막 코딩 수업을 듣기 시작하는 비전공자 문과생이 개인적으로 공부하기 위해 작성했습니다.
* 틀린 부분이 있을 수 있음.
* 교재 예제를 따왔으나 교재 제작하신 교수님이 어디서 이 코드를 가져왔는지 모름. 코드가 완벽히 일치하는 인터넷 자료가 있을 수 있음.
'게임 제작 관련 > 개발환경(프로그램)' 카테고리의 다른 글
R 시작하기3 - list, Factor, 데이터 타입 바꾸기(casting) (0) | 2022.10.05 |
---|---|
R 시작하기2 - Matrix(행렬), Dataframe만들기 (0) | 2022.10.04 |
Python if문(조건문) 예제 한 개로 한방정리 (1) | 2022.09.30 |
Python 입출력(%사용, input, f-string) (1) | 2022.09.28 |
R 시작하기(벡터 만들기, 연산자, 데이터 형태 등) (2) | 2022.09.27 |
댓글