Python에는 Java의 try-catch문과 같은
예외처리 기능을 하는 코드가 있는데요.
한 번 알아보겠습니다.
먼저 try입니다.
Java에서는 try-catch가 쌍으로 쓰이듯이
Python에서는 try가 catch대신
except와 쓰입니다.
코드를 살펴볼까요?
try:
a = int(input("첫번째 숫자 : "))
b = int(input("두번째 숫자 : "))
result = a // b
print("몫은 %d" % result)
l = [1, 23, 456]
print(l[b])
except ZeroDivisionError:
print("y에 0? 이거 맞습니까")
# except IndexError:
# print("list에 없음")
try안에 실행할 코드를 넣고
에러가 발생하면 except문을 실행하는데
except뒤에 해당 에러에 해당하는 이름을 적어줘야합니다.
여기서는 ZeroDivisionError를 적어주었는데
무언가를 0으로 나눴을 때 발생하는 에러이며,
에러가 발생하면 해당 except안에 있는 코드를 실행합니다.
외에도 여러가지 에러가 있는데
에러를 한 번에 처리하는 방법도 있습니다.
except Exception as asdf: #모든 에러
print(asdf) #무슨 내용인지 알고 싶을 때
Exception이라는 객체에는 에러의 내용이 들어가는데
as를 사용해서 해당 에러의 내용을 출력할 수도 있습니다.

이런 식으로 에러의 내용이 담긴 print문이 출력되게 됩니다.
else:
print("문제가 없으면 실행")
그리고 else라는 구문이 있는데
else는 문제가 없으면 실행되는 코드이고
사용되는 이유는 단순히 성능적인 것을 넘어서
에러가 발생할 가능성이 있는 부분과 그렇지 않은 부분을
정확히 구분을 지어서 작성자의 의도를 명확하게 하기 위함입니다.
마지막으로 finally는 기존 Java의 finally와 똑같이
문제가 있든 없든 실행되는 코드입니다.
finally:
print("문제가 있든 없든 무조건 실행(return보다 먼저)")
'Python' 카테고리의 다른 글
| [Python] Datetime (0) | 2025.03.06 |
|---|---|
| [Python] f-string (0) | 2025.03.06 |
| [Python] 다중 상속 (0) | 2025.03.06 |
| [Python] 상속과 오버라이딩 (0) | 2025.03.06 |
| [Python] Class (0) | 2025.03.05 |