Chapter 7-2. try except 구문
1. try except 구문이란?
모든 예외처리 사항을 조건문으로 처리하는것은 귀찮게나 ì \xec96b거리 맞는 문제입니다.
요즘 프로그램은 대부분 예외를 처리하는 구문을 제공합니다.
2. try except의 구조
#구조
try:
예외가 발생할 가능성이 있는 코드
except:
예외가 발생했을 때 실행할 코드
# try except의 사예
try:
x, y = map(int, input("벌방과 높이를 입력해주세요").split(" "))
print(f'삼각형의 넘은 {x * y / 2}입니다.')
except:
print("정수로 입력하지 않아 계산이 불가능합니다.")
3. try except 구문과 pass 키워드
#구조
try:
예외가 발생할 가능성이 있는 코드
except:
pass
4. try except 구문과 else 키워드
#구조
try:
예외가 발생할 가능성이 있는 코드
except:
예외가 발생했을 때 실행할 코드
else:
예외가 발생하지 않았을 때 실행할 코드
5. try except 구문과 finally 키워드
#구조
try:
예외가 발생할 가능성이 있는 코드
except:
예외가 발생했을 때 실행할 코드
finally:
무조건 실행할 코드
6. 오류의 종류와 해결 방법
1. 경문 오류 (Syntax Error)
- 과호 기수, 들여집기 문제 등으로 프로그램이 실행되기 전에 발생.
- 해결 방법: 문맥적 오류를 간호나 들여집기로 수정.
2. 예외 (Runtime Error)
- 실행 중 발생.
- 해결 방법: 경험치로 해결 후 try-except 구문 또는 조건문 가운.
7. isdigit() 함수의 설명
- 문자열이 숫자로만 구성되어 있는지 판단.
- 예제:
num = "1234"
print(num.isdigit()) # 출력: True
num = "1234a"
print(num.isdigit()) # 출력: False
입력값이 숫자인지 검증하고 예외를 방지.
예외 종류와 설명
1. 구문 오류 (Syntax Error)
- 정의: 프로그램 실행 이전, 코드의 문법적 오류로 인해 발생하는 오류입니다.
- 원인: 괄호 개수 불일치, 잘못된 들여쓰기, 오타 등.
- 특징:
- 프로그램이 실행되기 전 오류가 발생합니다.
- 오류가 해결되지 않으면 프로그램 실행이 불가능합니다.
예시
# 올바른 코드
print("오류는 아주 사소한 것부터 발생합니다.")
# 괄호를 생략한 경우
print("오류는 아주 사소한 것부터 발생합니다."
# SyntaxError: unexpected EOF while parsing
2. 예외 (Runtime Error)
- 정의: 프로그램 실행 중 발생하는 오류입니다.
- 원인: 정의되지 않은 변수 참조, 0으로 나누기, 잘못된 데이터 형식 등.
- 특징:
- 프로그램이 실행 중일 때 오류가 발생합니다.
- 적절히 처리하지 않으면 프로그램이 중단됩니다.
예시
# 오류 발생 코드
dogs.append("말티즈")
# NameError: name 'dogs' is not defined
# 해결된 코드
dogs = ["닥스훈트", "시바견"]
dogs.append("말티즈")
print(dogs)
# 출력: ['닥스훈트', '시바견', '말티즈']
3. 논리 오류 (Logical Error)
- 정의: 문법적 오류는 없지만, 프로그램의 논리가 잘못되어 예상과 다른 결과를 초래하는 오류입니다.
- 원인: 잘못된 알고리즘, 잘못된 연산 순서 등.
- 특징:
- 프로그램은 정상적으로 실행됩니다.
- 결과가 의도한 바와 다르게 나옵니다.
예시
# 논리 오류 예시
x, y = 10, 0
result = x + y # 원래는 나눗셈을 해야 하는 상황
print(f'결과는 {result}입니다.')
# 출력: 결과는 10입니다. (원래는 나눗셈 결과를 기대했음)
4. 시스템 오류 (System Error)
- 정의: 하드웨어나 운영체제 등 시스템적인 문제로 인해 발생하는 오류입니다.
- 원인: 메모리 부족, 디스크 공간 부족, 네트워크 장애 등.
- 특징:
- 프로그램 외적인 문제에서 발생합니다.
- 대부분 시스템 설정이나 하드웨어 상태를 점검해야 합니다.
5. 예외 처리 방법
- 조건문 사용: if, else 등을 통해 예외 발생 가능성을 미리 차단.
- try-except 구문: 예외가 발생할 가능성이 있는 코드를 try 블록에 작성하고, 예외 발생 시 처리할 코드를 except 블록에 작성.
- try-except-else-finally: 더 복잡한 예외 처리를 위해 else와 finally를 추가로 사용.
예시: try-except
try:
x = int(input("숫자를 입력하세요: "))
print(f"입력한 숫자는 {x}입니다.")
except ValueError:
print("숫자가 아닌 값을 입력했습니다.")
6. isdigit() 함수 설명
- 정의: 문자열이 숫자로만 이루어졌는지 판단하는 함수.
- 반환값:
- 문자열이 숫자로만 이루어져 있으면 True 반환.
- 그렇지 않으면 False 반환.
예시
print("1234".isdigit()) # 출력: True
print("1234a".isdigit()) # 출력: False
활용 예시
x, y = input("밑변과 높이를 입력해주세요: ").split()
if x.isdigit() and y.isdigit():
x, y = int(x), int(y)
print(f'삼각형의 넓이는 {x * y / 2}입니다.')
else:
print("정수로 입력하지 않아 계산이 불가합니다.")
이렇게 isdigit()을 활용하면 입력값이 숫자인지 쉽게 확인할 수 있습니다.
'Python' 카테고리의 다른 글
PYTHON - 예외처리와 모듈 (Chapter 7-36. raise 구문) (0) | 2025.03.14 |
---|---|
PYTHON - 예외처리와 모듈 (Chapter 7-35. 예외 객체와 구분하기) (0) | 2025.03.14 |
PYTHON - 예외처리와 모듈 (Chapter 7-1. 오류 종류와 기본 예외 처리) (0) | 2025.03.14 |
[[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) 심화 문제풀이 (0) | 2025.03.13 |
📌 Python 학습 과정 – 이해와 반복의 중요성 (0) | 2025.03.13 |