파이썬따라하기/6실습

#실습1편 - 파이썬 예외 처리 기초 python

모두의 실험실 2023. 5. 7. 21:55
728x90

※접속하시어 실습하면서 학습하세요. 파이썬 설치 없이 코드실행할 수 있어요
클릭클릭 : https://tinyurl.com/ynpj4ykv

 

파이썬 실습 실행 가능해요 이용해 보세요

파이썬 코드 입력하시고 맨우측 '▶' 클릭하면 실행 됩니다 #파이썬 테스트 코드 (복사붙여넣기로 테스트해보세요) for i in range(5): print(str(i) + ' 오늘하루 행복하세요') 파이썬은 컴퓨터 언어다 이

modoopython.tistory.com

 

코딩은 전쟁터와 같음

무슨일이 발생 할지 예측이 안됨

 

파이썬 입문자는 주로 겪는 상황이므로

좌절이나 포기는 금물임

그렇다고 당연시 여기는 것도 좋은자세는 아님

 

개발자는 수식등 구현할때 최대한 결과값을

고려하지만 예상치 못한상황이 발생하면

코드가 오류를 발생하며 중단됨

오작동도 문제이지만 코드가 중단되는것도 문제임

 

카카오톡이 잘되다가 갑쟈기 먹통이 된다면?

뭐다? 카카오에서는 전쟁만큼 끔찍하며

카카오톡 유저들도 메신저 뿐아니라

연결된것들을 일시적으로 중단되니

일상생활에 심하게 불편할 것으로 예상됨

 

이럼 예외 상황을 우회할 수 있는 

방법이 파이썬에 있음

 

try:
    a = 'a' + 1
except:
    pass


try:    
    a = 'a' + 1
except Exception as e:
    print(e)


try:    
    a = 4/0
except Exception as e:
    print(e)
    
    
try:
    a = 1 + [1,2,3]
except Exception as e:
    print(e)
    
try:
    a = [1,2,3] - [1,2]
except Exception as e:
    print(e)
    
for i in range(3):
    print(i)

-결과 (드래그로 확인가능)

can only concatenate str (not "int") to str
division by zero
unsupported operand type(s) for +: 'int' and 'list'
unsupported operand type(s) for -: 'list' and 'list'
0
1
2

 

try except문이 없다면 코드가 수행되다가

오류가 발생되면 코드수행이 중지됨

하지만 try except문을 사용하면

해당 코드는 예외처리되고 나머지 구문이 진행됨

 

except Exception as e:를 입력후

print로 e를 출력하여 해당 오류를 확인 가능함

try:
    a = [1,2,3] - [1,2]
except Exception as e:
    print(e)
    
print('------------')

import traceback
try:
    a = [1,2,3] - [1,2]
except:
    print(traceback.format_exc())

-결과 (드래그로 확인가능)

unsupported operand type(s) for -: 'list' and 'list'
------------
Traceback (most recent call last):
  File "<ipython-input-17-b3d8cf1f6202>", line 10, in <module>
    a = [1,2,3] - [1,2]
TypeError: unsupported operand type(s) for -: 'list' and 'list'

 

traceback 패키지를 활용하여

except: 구문 안에 traceback.format_exc()를

출력하면 Exception(e)을 출력하는 것보다

오류가 발생한 위치(line위치)까지 출력해서

개발자가 디버깅하기에 더 수월함

 

태그
-------------------------------------------------------------
#python, #파이썬, #anaconda, #아나콘다, #기초, #클래스, #class, #import, #selenium, #셀레늄, #자동, #교육, #코딩교육, #coding, #chatgpt, #챗GPT, #로봇,

 

728x90
반응형