Akashic Records

6.2 에러 종류와 대처법 본문

Python for Beginners

6.2 에러 종류와 대처법

Andrew's Akashic Records 2023. 3. 21. 10:59
728x90

python for beginners

 

파이썬에서 발생할 수 있는 주요 에러 종류와 그에 대한 대처 방법을 설명드리겠습니다. 파이썬 에러는 크게 두 가지로 나눌 수 있습니다: 구문 에러(Syntax Errors)예외(Exceptions).

 

1. SyntaxError: 문법 오류로 인한 에러입니다. 코드의 문법을 확인하고 수정해야 합니다.

# 잘못된 문법
if x 10
대처법: 문법을 올바르게 수정합니다.

if x == 10:

2. NameError: 정의되지 않은 변수나 함수를 사용할 때 발생하는 에러입니다.

print(undefined_variable)
대처법: 변수나 함수의 정의를 확인하고 수정합니다.

3. TypeError: 잘못된 데이터 타입에 대한 연산이나 함수 호출을 시도할 때 발생하는 에러입니다.

x = "5" + 3
대처법: 적절한 데이터 타입으로 변환하거나 수정합니다.

python
Copy code
x = int("5") + 3

4. ZeroDivisionError: 0으로 나눌 때 발생하는 에러입니다.

try:
    result = 10 / x
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

5. FileNotFoundError: 존재하지 않는 파일을 열려고 할 때 발생하는 에러입니다.

with open("nonexistent_file.txt", "r") as f:
    content = f.read()
대처법: 파일 경로를 확인하고, 필요한 경우 예외 처리를 사용합니다.

try:
    with open("nonexistent_file.txt", "r") as f:
        content = f.read()
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")

6. ValueError: 잘못된 값이 전달되었을 때 발생하는 에러입니다.

int("abc")
대처법: 값을 확인하고, 필요한 경우 예외 처리를 사용합니다.

try:
    int_value = int(user_input)
except ValueError:
    print("숫자를 입력해야 합니다.")

7. IndexError: 리스트, 튜플 등의 시퀀스에서 인덱스 범위를 벗어난 요소에 접근하려고 할 때 발생하는 에러입니다.

my_list = [1, 2, 3]
print(my_list[3])
대처법: 인덱스가 유효한 범위 내에 있는지 확인하고, 필요한 경우 예외 처리를 사용합니다.

try:
    print(my_list[3])
except IndexError:
    print("인덱스 범위를 벗어났습니다.")

8. KeyError: 딕셔너리에서 존재하지 않는 키에 접근하려고 할 때 발생하는 에러입니다.

my_dict = {"a": 1, "b": 2, "c": 3}
print(my_dict["d"])
대처법: 키가 딕셔너리에 존재하는지 확인하고, 필요한 경우 예외 처리를 사용합니다.


try:
    print(my_dict["d"])
except KeyError:
    print("키가 딕셔너리에 존재하지 않습니다.")

9. AttributeError: 객체에 존재하지 않는 속성이나 메서드를 사용하려고 할 때 발생하는 에러입니다.

my_string = "Hello, world!"
my_string.non_existent_method()
대처법: 객체의 속성이나 메서드가 올바른지 확인하고, 필요한 경우 예외 처리를 사용합니다.



try:
    my_string.non_existent_method()
except AttributeError:
    print("속성이나 메서드가 존재하지 않습니다.")

10. ImportError: 모듈을 임포트할 때 발생하는 에러입니다. 이 에러는 잘못된 모듈 이름, 경로 문제 또는 누락된 설치로 인해 발생할 수 있습니다.

import nonexistent_module
대처법: 모듈 이름, 경로를 확인하고, 필요한 경우 모듈을 설치하거나 예외 처리를 사용합니다.


try:
    import nonexistent_module
except ImportError:
    print("모듈을 찾을 수 없습니다.")

위의 예시처럼 대부분의 에러는 코드를 수정하여 해결할 수 있습니다. 그러나 몇 가지 경우에는 예외 처리를 사용하여 프로그램이 중단되지 않고 적절한 대처를 하도록 할 수 있습니다. 예외 처리는 위에서 설명한 try, except, finally, else 블록을 사용하여 구현할 수 있습니다.

728x90

'Python for Beginners' 카테고리의 다른 글

7.1 시간과 날짜  (0) 2023.03.23
6.3 디버깅 기술  (0) 2023.03.21
6.1 예외 처리  (0) 2023.03.21
5.5 디자인 패턴  (0) 2023.03.20
5.4 캡슐화  (0) 2023.03.20
Comments