반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- torch.nn.Module
- Torchvision
- 파이썬
- pychram
- Visual Studio Code
- DeepLearning
- rnn
- docker
- AI
- wsl2
- LSTM
- vision transformer
- python
- Anaconda
- __call__
- objectdetection
- ubuntu
- ViT
- __init__
- 딥러닝
- 가상환경구축
- pytorch
- 가상환경
- 머신러닝
- torch.nn
- python 문법
- CNN
- vsC
- tensorflow
- 파이썬문법
Archives
- Today
- Total
인공지능을 좋아하는 곧미남
[오류 예외처리] try, except, else, finally 본문
오늘은 python으로 프로그램을 구현할 때, 오류가 발생했을 경우! 예외 처리를 하기 위해서 try, except 조건을 걸어서 후처리가 가능한데요. 그것에 대한 기본적인 프로세스를 간단한 예제로 실험해보겠습니다.
아래와 같이 예제 코드가 있는데요.
여기서, print(1/0)은 Exception : division by zero 오류를 출력합니다!
그래서 가상으로 오류를 만들어서 처리 프로세스를 알려드리겠습니다.
a = [1,2,3]
try:
for i in a:
print(i)
print(1/0)
except Exception as e:
print(f"Exception : {e}")
else:
print("else")
finally:
print("finally")
출력:
1
Exception : division by zero
finally
print(i)로 첫 번째 index가 출력되고, 그 후에 print(1/0)이 호출되어 error가 발생합니다. 그러면 except 구문으로 넘어가서 Exception : division by zero가 출력되지요. 그 후에 finally 구문으로 넘어가 print("finally")가 처리됩니다.
즉, 에러가 발생하면, 처리되는 프로세스는 try 구문(에러발생) → except 구문 → finally 구문 순서입니다.
이제는 print(1/0)을 주석 처리하여 정상 동작하는 코드로 변경했습니다.
a = [1,2,3]
try:
for i in a:
print(i)
# print(1/0)
except Exception as e:
print(f"Exception : {e}")
else:
print("else")
finally:
print("finally")
출력:
1
2
3
else
finally
정상적으로 설정한 print 문이 동작하는 것을 볼 수 있습니다. 그리고 여기서 중요한 점은! else 구문이 동작했다는 것입니다.
그렇습니다, 정상적으로 코드가 실행되면, (try 구문에서 오류가 발생하지 않으면,) else 구문이 실행되고, finally 구문이 실행되게 됩니다!
이러한 예외처리 프로세스를 참고해서 코드를 구현해보시면 좋을 것 같습니다.
읽어주셔서 감사합니다.
반응형
'code_study > python world' 카테고리의 다른 글
| [python] sys.path, sys.modules를 이용해서 나의 워크 스페이스 경로를 맞춰보자! (1) | 2025.01.03 |
|---|---|
| [python] __init__.py를 활용해 python source 파일 관리하기 (0) | 2024.12.31 |
| [python] 다형성이란 뭘까? (1) | 2024.12.26 |
| [python] 캡슐화란 뭘까? (0) | 2024.12.26 |
| [python] 메모리 관리는 어떻게 할까? (0) | 2024.12.26 |
Comments