728x90
반응형
SMALL
🎯 예외 처리(Exception Handling)와 오류 관리란?
컴퓨터 프로그램은 가끔 예상하지 못한 상황을 만나요.
이런 상황을 오류 또는 예외라고 해요.
예를 들면, 우리가 나누기를 하려고 하는데 0으로 나누는 경우나,
파일을 읽으려고 했는데 파일이 없는 경우가 있어요. 📂
이런 오류나 예외를 처리하지 않으면 프로그램이 멈추고 에러가 발생합니다. 😱
하지만 예외 처리를 잘해주면 프로그램이 멈추지 않고 다른 방법으로 이어지거나
"문제가 있어요!"라고 사용자에게 알려줄 수 있어요. 💡
🛠️ 예외 처리 기본 개념
예외(Exception)란?
- 예외는 프로그램이 실행 중에 발생하는 문제예요.
- 예를 들어, 숫자가 아닌 값을 숫자로 바꾸려고 할 때 오류가 생겨요.
오류(Error)와의 차이
- 오류(Error)는 시스템적인 문제라서 개발자가 해결하기 힘들 때가 많아요.
예: 메모리가 부족하거나 시스템이 멈췄을 때. - 예외(Exception)는 개발자가 미리 예상하고 처리할 수 있는 문제예요.
🧩 예제 코드로 이해하기
이제 Java와 Python 두 가지 언어로 간단한 예외 처리 예제를 보여드릴게요! 😊
🚀 1. Java 예외 처리 예제
public class ExceptionExample {
public static void main(String[] args) {
try {
// 예외가 발생할 수 있는 코드 👇
int number = 10;
int result = number / 0; // 0으로 나누면 에러 발생! 😱
System.out.println("Result: " + result);
} catch (ArithmeticException e) {
// 예외를 처리하는 부분 👇
System.out.println("문제가 발생했어요: 0으로 나눌 수 없어요! 😅");
} finally {
// 항상 실행되는 부분 👇
System.out.println("프로그램이 종료되었습니다. 😊");
}
}
}
📝 코드 설명
- try 블록: 예외가 발생할 수 있는 코드를 작성해요.
- catch 블록: 예외가 발생하면 실행되는 코드예요.
- finally 블록: 예외가 발생하든 안 하든 항상 실행되는 부분입니다.
⚙️ 동작 과정
int result = number / 0;
에서 0으로 나누기 때문에ArithmeticException
예외가 발생해요.- catch 블록이 실행되어 사용자에게 "0으로 나눌 수 없어요!"라는 메시지를 보여줘요.
- finally 블록이 실행되어 "프로그램이 종료되었습니다." 메시지를 출력해요.
🚀 2. Python 예외 처리 예제
try:
# 예외가 발생할 수 있는 코드 👇
number = 10
result = number / 0 # 0으로 나누면 오류 발생! 😱
print("Result:", result)
except ZeroDivisionError:
# 예외를 처리하는 부분 👇
print("문제가 발생했어요: 0으로 나눌 수 없어요! 😅")
finally:
# 항상 실행되는 부분 👇
print("프로그램이 종료되었습니다. 😊")
📝 코드 설명
- try: 예외가 발생할 수 있는 코드를 넣어요.
- except: 예외가 발생했을 때 실행되는 코드입니다.
- finally: 예외와 상관없이 항상 실행되는 부분이에요.
⚙️ 동작 과정
number / 0
에서 ZeroDivisionError 예외가 발생해요.- except 블록이 실행되어 사용자에게 "0으로 나눌 수 없어요!"라는 메시지를 보여줘요.
- finally 블록이 실행되어 "프로그램이 종료되었습니다." 메시지를 출력해요.
🤔 차이점과 공통점
Java | Python |
---|---|
try , catch , finally 사용 |
try , except , finally 사용 |
명시적으로 예외 클래스를 사용해야 함 | 예외 클래스가 간단하게 제공됨 |
컴파일 언어 (에러가 실행 전 확인됨) | 인터프리터 언어 (에러가 실행 중 확인됨) |
💡 예외 처리를 왜 할까?
- 프로그램이 갑자기 종료되는 것을 방지해요. 😅
- 사용자에게 친절하게 문제를 알려줄 수 있어요. 📢
- 오류가 발생해도 다른 부분이 정상적으로 실행되게 해줘요. 👍
🎉 정리
예외 처리는 프로그램이 예상치 못한 상황에 대응하는 방법이에요.
Java와 Python은 비슷한 원리로 작동하지만 문법에 차이가 있어요.
예외 처리를 배우면 프로그램을 더욱 안정적이고 친절하게 만들 수 있답니다. 😊
반응형
SMALL