반응형 Error(Exception)63 [python] NameError NameError에 대한 정리1. 오류 설명NameError는 Python에서 정의되지 않은 변수나 함수, 객체를 호출하려고 할 때 발생하는 오류입니다. 즉, Python이 해당 이름을 찾을 수 없음을 의미합니다.2. 오류 예시변수 또는 함수가 정의되지 않았거나, 오타가 있는 경우.변수가 선언되기 전에 사용된 경우.3. 오류 해결책변수가 정의되었는지 확인: 해당 변수가 존재하는지 확인하고, 없는 경우 정의해야 합니다.오타 점검: 변수나 함수 이름에 오타가 있는지 확인합니다.스코프 확인: 변수나 함수가 올바른 스코프(지역 또는 전역) 내에서 정의되었는지 점검합니다.모듈 및 패키지 확인: 필요한 모듈이나 패키지가 제대로 import되었는지 확인합니다.4. 오류 예제 코드 및 해결 코드오류 예제 코드 1: 변.. 2024. 11. 27. [python] MemoryError 1. 오류 설명: MemoryErrorMemoryError는 파이썬 프로그램이 사용할 수 있는 메모리가 부족할 때 발생합니다. 이 오류는 주로 매우 큰 데이터 구조(예: 리스트, 딕셔너리 등)를 생성하거나, 제한된 시스템 메모리를 초과하는 작업을 수행할 때 발생합니다.2. 오류 예시다음은 MemoryError가 발생할 수 있는 상황입니다:매우 큰 리스트를 생성하려고 시도할 때메모리 집약적인 작업(이미지 처리, 데이터 분석 등)을 수행할 때예시:# 매우 큰 리스트 생성 시도large_list = [0] * (10**10) # 너무 큰 크기3. 오류 해결책데이터 크기 최적화:데이터를 효율적으로 저장할 수 있는 방법을 사용하세요. 예를 들어, 리스트 대신 numpy 배열을 사용하는 것이 유용할 수 있습니다... 2024. 11. 27. [python] KeyboardInterrupt 오류: KeyboardInterrupt1. 오류 설명KeyboardInterrupt는 사용자가 프로그램 실행 중 Ctrl+C를 눌러 프로그램의 실행을 강제로 중단했을 때 발생하는 예외입니다. Python 인터프리터는 이 신호를 감지하고 해당 예외를 발생시켜 실행 중인 프로그램을 종료하거나 제어권을 개발자에게 반환합니다.2. 오류 예시사용자가 실행 중인 스크립트가 무한 루프를 포함하거나 긴 시간 동안 실행 중일 때, Ctrl+C를 눌러 중단하면 이 오류가 발생합니다.# 예제: 무한 루프while True: print("Running...")위 코드를 실행한 상태에서 Ctrl+C를 누르면 다음과 같은 오류가 발생합니다:Running...Running...^CTraceback (most recent ca.. 2024. 11. 26. [python] KeyError KeyErrorKeyError는 Python에서 딕셔너리에서 존재하지 않는 키를 참조할 때 발생하는 오류입니다.1. 오류 설명딕셔너리에서 특정 키로 값을 찾으려고 할 때, 해당 키가 딕셔너리에 없으면 KeyError가 발생합니다.KeyError는 일반적으로 키의 존재 여부를 확인하지 않고 딕셔너리에서 키를 참조할 때 발생합니다.2. 오류 예시# 예제: 존재하지 않는 키에 접근my_dict = {"name": "Alice", "age": 25}print(my_dict["address"]) # KeyError 발생3. 오류 해결책키의 존재 여부를 확인하기:딕셔너리에 키가 존재하는지 확인한 후 값을 가져옵니다.if "address" in my_dict: print(my_dict["address"])else.. 2024. 11. 25. [python] IndexError 파이썬 오류: IndexError1. 오류 설명IndexError는 리스트, 튜플, 문자열과 같은 시퀀스 자료형에서 존재하지 않는 인덱스에 접근하려고 할 때 발생합니다.즉, 인덱스가 유효한 범위를 벗어나면 이 오류가 발생합니다.2. 오류 예시my_list = [1, 2, 3]print(my_list[3]) # IndexError 발생: 리스트의 유효한 인덱스는 0, 1, 2뿐입니다.3. 오류 해결책인덱스 범위 확인: 접근하기 전에 len() 함수로 유효한 인덱스 범위를 확인합니다.예외 처리 사용: try-except 블록을 활용해 오류를 처리합니다.디버깅 및 로직 점검: 반복문이나 인덱스를 사용하는 코드의 로직을 점검하여 잘못된 접근을 방지합니다.4. 오류 예제 코드 및 해결 코드오류 발생 코드# In.. 2024. 11. 24. [python] ModuleNotFoundError ModuleNotFoundErrorModuleNotFoundError는 Python에서 모듈을 임포트하려고 시도했을 때, 해당 모듈이 시스템에 없거나 Python 환경에서 찾을 수 없을 경우 발생하는 오류입니다.1. 오류 설명발생 원인:설치되지 않은 모듈을 임포트하려고 할 때.가상 환경에서 모듈이 설치되지 않았을 때.Python 경로가 올바르지 않거나, 모듈의 위치를 찾을 수 없을 때.Python이 요청한 모듈 파일을 찾지 못해 발생하는 오류입니다.2. 오류 예시# 모듈이 설치되지 않았을 때import numpy # numpy 모듈이 설치되지 않은 경우# 경로 문제로 모듈을 찾지 못하는 경우from mymodule import my_function # mymodule.py 파일이 프로젝트 디렉토리에 .. 2024. 11. 23. [python] RuntimeError RuntimeError에 대한 정리1. 오류 설명RuntimeError는 일반적으로 코드 실행 중 논리적인 문제가 발생했지만, 더 구체적인 오류로 분류되지 않은 경우 발생합니다. 이 오류는 Python에서 특별히 명시된 다른 오류 유형에 속하지 않는 일반적인 실행 시 문제를 나타냅니다.2. 오류 예시아래는 RuntimeError가 발생하는 대표적인 경우입니다:잘못된 쓰레드 접근: 쓰레드가 안전하지 않은 방식으로 공유 자원에 접근하려고 할 때.재귀 한도를 초과했을 때.사용자 정의 함수나 라이브러리에서 예상하지 못한 상태일 때.예시:torch 또는 TensorFlow와 같은 라이브러리에서 발생하는 RuntimeError.재귀 함수에서 최대 호출 한도를 초과.3. 오류 해결책원인 분석: 오류 메시지와 관련 문.. 2024. 11. 22. [python] ImportError ImportError1. 오류 설명ImportError는 Python에서 특정 모듈이나 패키지를 가져올 때 발생하는 오류입니다. 이 오류는 주로 다음과 같은 경우에 발생합니다:가져오려는 모듈이 설치되어 있지 않을 때.잘못된 경로에서 모듈을 가져오려 할 때.Python 버전에 따라 모듈이 호환되지 않을 때.모듈의 이름을 잘못 작성했을 때.2. 오류 예시다음은 ImportError가 발생하는 일반적인 예입니다.모듈이 설치되어 있지 않은 경우:결과:ImportError: No module named 'nonexistent_module'import nonexistent_module잘못된 경로에서 가져오려는 경우:결과:ImportError: cannot import name 'some_function' from .. 2024. 11. 22. [python] GeneratorExit 오류: GeneratorExit1. 오류 설명GeneratorExit는 제너레이터(generator)가 종료될 때 발생하는 예외입니다. 이는 close() 메서드가 호출될 때 내부적으로 발생하며, 제너레이터가 정리 작업을 수행할 수 있도록 설계되었습니다. GeneratorExit는 제너레이터 내부에서 처리할 필요가 거의 없으며, 처리하더라도 반드시 재발생시켜야 합니다. 이 예외는 StopIteration과 비슷하지만, 제너레이터 종료 시에만 발생한다는 점에서 다릅니다.2. 오류 예시def my_generator(): try: yield 1 yield 2 except GeneratorExit: print("Generator is closing!")gen = .. 2024. 11. 21. [python] FloatingPointError FloatingPointError오류 설명FloatingPointError는 Python에서 부동소수점 연산 중 예외적인 상황이 발생할 때 발생하는 오류입니다. 이 오류는 기본적으로 활성화되지 않으며, 명시적으로 Python의 numpy 라이브러리나 fpectl과 같은 모듈에서 부동소수점 오류를 감지하도록 설정해야 발생합니다. 예외적으로 ZeroDivisionError나 OverflowError가 발생하지 않는 대신 FloatingPointError를 유발할 수 있습니다.오류 예시위 코드에서 np.seterr(all='raise')로 부동소수점 오류를 활성화하면, 0으로 나눌 때 FloatingPointError가 발생합니다.import numpy as np# 부동소수점 오류 감지 활성화np.seterr.. 2024. 11. 20. [python] EOFError 파이썬 오류: EOFError1. 오류 설명EOFError는 End Of File (EOF), 즉 파일의 끝이나 입력의 끝에서 발생하는 오류입니다.주로 input() 함수가 더 이상 입력을 받을 데이터가 없는 경우 발생합니다.파일 작업 중에도 예상하지 못한 EOF 상황에서 발생할 수 있습니다.2. 오류 예시(1) input() 함수에서 EOFErrorname = input("이름을 입력하세요: ")만약 입력 스트림(예: 파일에서 읽는 입력)이 종료되거나, 사용자가 아무것도 입력하지 않고 프로그램이 EOF 상황을 만나면 오류 발생.(2) 파일 읽기에서 EOFErrorwith open('example.txt', 'r') as file: while True: line = file.readli.. 2024. 11. 19. [python] PythonFinalizationError PythonFinalizationError1. 오류 설명PythonFinalizationError는 Python 인터프리터 종료 중에 발생하는 오류입니다. 인터프리터가 종료되면서 일부 객체의 소멸자(__del__)가 실행될 때, 이미 해제된 리소스를 참조하거나 사용할 수 없는 상태에서 실행되면 이 오류가 발생합니다. 주로 atexit 모듈이나 전역 객체의 소멸 시점에서 자주 발생합니다.2. 오류 예시Python 인터프리터가 종료 중인데, 소멸자나 전역 객체가 더 이상 유효하지 않은 리소스를 참조하거나 접근하려고 하면 이 오류가 발생합니다.import atexitclass Example: def __del__(self): print("Finalizing...") # 인터프리터.. 2024. 11. 18. [python] AttributeError 파이썬 오류: AttributeError1. 오류 설명AttributeError는 객체에 존재하지 않는 속성이나 메서드를 호출하려고 할 때 발생합니다.보통 객체가 특정 속성(attribute)을 가지지 않거나, 잘못된 메서드 이름을 사용했을 때 나타납니다.예를 들어, 문자열 객체에서 리스트에만 존재하는 메서드를 호출하려고 하면 발생합니다.2. 오류 예시text = "hello"text.append("world")결과:AttributeError: 'str' object has no attribute 'append'문자열 객체(str)는 .append() 메서드를 지원하지 않으므로 오류가 발생합니다.3. 오류 해결책객체 속성 확인:호출하려는 속성이나 메서드가 해당 객체에서 사용 가능한지 확인합니다.내장 함수.. 2024. 11. 18. [python] AssertionError 파이썬 오류: AssertionError1. 오류 설명AssertionError는 assert 문이 실패했을 때 발생하는 오류입니다.assert 문은 디버깅 목적으로 사용되며, 조건이 False일 경우 프로그램을 중단하고 오류를 발생시킵니다.일반적으로 코드의 특정 상태가 예상과 다른 경우를 감지하기 위해 사용됩니다.2. 오류 예시x = 5assert x > 10, "x는 10보다 커야 합니다!"결과:AssertionError: x는 10보다 커야 합니다!assert 문에서 조건 x > 10이 False이므로 오류가 발생합니다.3. 오류 해결책조건문 확인:assert에 사용된 조건이 적절한지 검토합니다.조건이 맞지 않다면 코드를 수정하거나, 조건을 만족하도록 입력 데이터를 변경합니다.디버깅:assert 메.. 2024. 11. 18. [자바(java)] VerifyError VerifyError VerifyError는 자바 개발 언어에서 자바 바이트 코드에 의해 발생하는 에러이다. 이 에러는 자바 가상 머신(JVM)의 코드 베이스에 다른 정보가 추가되었을 때 발생한다. 보통 코드 베이스는 자바 바이트 코드 객체를 검사하여 다른 메소드를 사용하거나 인자값이 잘못되거나 의도치 않게 사용되었을 때 발생한다. VerifyError의 예 VerifyError의 예는 다음과 같다. 자바 바이트 코드가 손상되었거나 사용되지 않았을 때 발생한다. 메소드 내 변수나 매개변수가 잘못 사용되었을 때 발생한다. 자바 바이트 코드가 다른 바이트 코드가 실행될 때 다른 메소드를 사용하는 데 오류가 있을 때 발생한다. VerifyError의 해결책 VerifyError를 해결하는 방법에는 다음과 같은.. 2023. 3. 6. [자바(java)] UnsupportedOperationException UnsupportedOperationException 클래스 UnsupportedOperationException 클래스는 자바 개발 언어로 많이 사용되는 예외 상황을 다루기 위해 사용됩니다. 이 클래스는 구현되지 않은 메소드나 메소드가 호출되지 않은 경우에 사용됩니다. UnsupportedOperationException 클래스는 일반적으로 자바의 입출력 기능을 사용할 때 발생하게 됩니다. UnsupportedOperationException 에러의 예 UnsupportedOperationException 에러는 보통 다음과 같이 발생합니다. java.lang.UnsupportedOperationException at java.base/java.util.AbstractList.remove(Abstrac.. 2023. 3. 5. [자바(java)] UnsatisfiedLinkError Java의 UnsatisfiedLinkError Java의 UnsatisfiedLinkError는 실행 시 발생하는 오류로, 라이브러리를 찾지 못하거나 로딩하는 중에 문제가 발생하는 경우 생기는 오류다. 이 오류는 자바 프로그램을 실행할 때 발생하며, 라이브러리를 찾지 못하거나 로딩하는 중에 문제가 발생하는 경우 생기게 된다. UnsatisfiedLinkError의 예시 UnsatisfiedLinkError의 예시는 다음과 같다. java.lang.UnsatisfiedLinkError: /lib/libhello.so: libhello.so (libhello.so: cannot open shared object file: No such file or directory)위 오류는 다음과 같이 설명할 수 있다.. 2023. 3. 4. [자바(java)] UnknownError UnknownError UnknownError는 가장 일반적으로 발생하는 자바 개발 언어 에러 중 하나입니다. 이 에러는 자바 개발 작업에 있어 매우 불편하게 느껴질 수 있습니다. 에러의 원인과 해결방법을 이해하기 위해 먼저 UnknownError를 더 자세히 알아보겠습니다. UnknownError 에러의 정의 UnknownError는 자바 프로그램 실행 중 발생하는 에러 중 하나로, 오류가 발생했음을 알 수 있지만 실제 에러가 무엇인지 모르는 경우를 말합니다. 따라서 이 에러는 에러의 원인을 모르는 경우에 주로 발생하게 됩니다. UnknownError 에러의 예 UnknownError의 예를 들어 보겠습니다. 아래의 코드는 정수 변수 a에 담긴 값을 배열 b에 저장하는 코드입니다. // 정수 변수 a .. 2023. 3. 3. 이전 1 2 3 4 다음 반응형