예외처리란?
Python 예외 처리는 프로그램 실행 중에 발생하는 오류를 감지하고 대응하는 프로세스입니다. Python에서 예외는 프로그램 실행 중에 발생할 수 있는 오류 또는 예외적인 상황을 나타내는 객체입니다.
오류나 예외 상황이 발생하면 Python은 예외를 발생시킵니다. 프로그램에서 예외를 처리하지 않으면 인터프리터는 프로그램을 종료하고 오류가 발생한 위치를 보여주는 스택 추적을 인쇄합니다.
Python에서 예외를 처리하려면 try-except 블록을 사용할 수 있습니다. try 블록은 예외를 발생시킬 수 있는 코드를 포함하고, except 블록은 예외를 처리하는 코드를 포함합니다.
다음은 특정 예외를 처리하기 위해 try-except 블록을 사용하는 방법의 예입니다.
try:
x = int(input("Please enter a number: "))
except ValueError:
print("Oops! That was not a valid number. Try again...")
이 예제에서 int() 함수는 사용자가 숫자가 아닌 값을 입력하면 ValueError 예외를 발생시킵니다. try 블록은 int() 함수를 호출하는 코드를 포함하고, except 블록은 오류 메시지를 인쇄하여 예외를 처리하는 코드를 포함합니다.
파이썬은 또한 예외가 발생했는지 여부에 관계없이 실행되어야 하는 코드를 실행하는 데 사용할 수 있는 finally 블록을 제공합니다. 예를 들어:
try:
# some code that might raise an exception
except:
# handle the exception
finally:
# code that will be executed regardless of whether an exception was raised or not
전반적으로 Python 예외 처리는 프로그램 실행 중에 발생할 수 있는 오류 및 예외 상황을 정상적으로 처리하는 방법을 제공하므로 오류가 발생하더라도 프로그램이 계속 실행될 수 있습니다.
다음은 Python의 예외 처리에 대한 몇 가지 중요한 참고 사항입니다.
예외 유형: Python에는 다양한 유형의 오류 또는 예외 상황을 처리하기 위한 많은 기본 제공 예외 유형이 있습니다. 몇 가지 일반적인 예외 유형에는 ValueError, TypeError, FileNotFoundError 및 ZeroDivisionError가 있습니다.
Try-except 블록: try-except 블록은 예외를 포착하고 정상적으로 처리하는 데 사용됩니다. 예외를 일으킬 수 있는 코드는 try 블록 안에, 예외를 처리하는 코드는 except 블록 안에 넣습니다.
다중 제외 블록: 여러 개를 사용할 수 있습니다. 다른 유형의 예외를 처리하는 블록을 제외합니다. 발생한 예외 유형과 일치하는 첫 번째 제외 블록이 실행되고 후속 제외 블록은 무시됩니다.
일반 제외 블록: 일반 제외 블록을 사용하여 다음을 수행할 수 있습니다. 다른 블록에서 처리되지 않는 모든 예외를 catch합니다. 그러나 일반적으로 가능할 때마다 특정 예외를 처리하는 것이 모범 사례로 간주됩니다.
예외 발생: Python에서 raise 문을 사용하여 예외를 발생시킬 수 있습니다. 오류 또는 예외 상황을 알리기 위해 의도적으로 예외를 생성하려는 경우에 유용합니다.
Finally 블록: finally 블록은 관계없이 실행되어야 하는 코드를 지정하는 데 사용됩니다. 예외가 발생했는지 여부. 리소스를 정리하거나 try 블록에서 열린 파일을 닫는 데 유용합니다.
예외 연결: 예외가 포착되어 상위 수준 예외에서 다시 발생하는 경우 핸들러에서 원래 추적 정보가 보존되며 cause 속성을 사용하여 액세스할 수 있습니다. 이를 예외 체인이라고 합니다.
전반적으로 예외 처리는 강력하고 안정적인 Python 코드 작성의 중요한 측면입니다. 예외를 정상적으로 처리하면 오류나 예외적인 상황이 발생하더라도 프로그램이 계속 실행되도록 할 수 있습니다.
Python에서는 예외를 발생시킬 수 있는 모든 코드를 try 블록 안에 배치하여 예외를 처리할 수 있습니다.
Python에서 예외 처리를 사용하여 처리할 수 있는 몇 가지 일반적인 오류 또는 예외 상황은 다음과 같습니다.
Syntax errors: 코드가 유효한 Python 구문이 아닐 때 발생하는 오류입니다. 구문 오류는 프로그램이 실행되기 전에 인터프리터에 의해 포착되므로 예외 처리를 사용하여 포착할 수 없습니다.
Name errors: 현재 범위에 변수나 함수 이름이 정의되어 있지 않을 때 발생하는 오류입니다.
Type errors: 잘못된 유형의 개체에 연산이나 함수를 적용했을 때 발생하는 오류입니다.
Value errors: 양수가 필요한 함수에 음수를 넘기는 등 부적절한 값을 가진 객체에 연산이나 함수를 적용했을 때 발생하는 오류입니다.
Attribute errors: 해당 속성이 없는 개체에서 해당 속성을 참조할 때 발생하는 오류입니다.
File errors: 파일 열기, 읽기 또는 쓰기에 문제가 있을 때 발생하는 오류입니다. 예를 들면 FileNotFoundError 및 PermissionError가 있습니다.
Arithmetic errors: 0으로 나누는 것과 같은 수학 연산이 불가능할 때 발생하는 오류입니다. 예를 들면 ZeroDivisionError 및 OverflowError가 있습니다.
Assertion errors: assert 문이 실패할 때 발생하는 오류입니다. 어설션 문에서 평가된 식이 False이면 어설션 오류가 발생합니다.
'파이썬' 카테고리의 다른 글
[Python]#16 표준 라이브러리 - OS (0) | 2023.03.05 |
---|---|
[Python]#15 기본 내장 함수 사용법 (1) | 2023.03.03 |
[Python]#13 파이썬 class 사용법 (0) | 2023.03.01 |
[Python]#12 파이썬 코드 디버깅 방법 (0) | 2023.02.27 |
[Python]#11 파이썬 tuple & error 유형 (0) | 2023.02.26 |