Skip to content
조회 수 2862 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

파이썬의 IF문 사용시 실행값에서 오류발생시 진행하는 예외처리 방법

 

 

 

 

try
    line = f.readlines()[0]
except:
    line=""
    print('신규문서로 읽어올 자료가 없습니다.')

 

f.readlines()의 변수 배열 0번에 해당하는 값이 없을 경우 

IndexError: list index out of range

 

오류를 발생시키면서 스크립트가 종료되지만 위의 소스는 try에서 오류 발생시 except를 실행시켜서 강제로 line 변수에 공백데이터를 입력한다.

 

파이썬 예외처리 코드 기본구조

try:

    (예외가 일어날 것 같은 코드, 즉 위험한 코드)

except:

    (예외가 있을 때 실행될 코드)

else:

    (예외가 없을 때 실행될 코드)

finally:

    (예외와 상관없이 무조건 실행될 코드)

 

try:
    print('##### 예외가 있을 때 #####')
    number = 3 / 0 # 0으로 나누면 ZeroDivisionError 예외가 발생
    print('다음 코드들...')
except:
    print('except 블록')
else:
    print('else 블록')
finally:
    print('finally 블록')

print()

try:
    print('##### 예외가 없을 때 #####')
    number = 3 / 3
    print('다음 코드들...')
except:
    print('except 블록')
else:
    print('else 블록')
finally:
    print('finally 블록')

파이썬 예외처리 코드 기본구조

try 블록에 있는 코드를 실행하다 예외를 만나게 되면 except 블록으로 직행

예외가 있을 때를 except 블록을, 없을 때는 else 블록을 실행한다.

finally 블록은 예외가 있으나 없으나 실행된다.

(위의 코드를 보면 언제 어느 블록이 실행되는지 한눈에 파악할 수 있습니다.)

 

여러가지 예외(Exception) 처리하기

L = [1, 2, 3]
try:
    #주석을 풀어가면서 하나씩 테스트
    #print(abc) # NameError 발생
    #print(L[7]) # IndexError 발생
    #number = 3 / 0 # ZeroDivisionError 발생
    int('abc') # ValueError 발생
except NameError:
    print('NameError')
except IndexError:
    print('IndexError')
except ZeroDivisionError:
    print('ZeroDivisionError')
except:
    print('모르는 에러!')

여러가지 예외(Exception) 처리하기

예외 종류별로 except문을 사용하여 세밀한 처리를 할 수 있다.

위에서부터 순서대로 예외를 처리하기 때문에 순서가 중요하다.

마지막에 모든 예외를 처리하기 위해서는 except: 또는 except Exception: 을 사용한다.

 

예외의 종류는 아래의 링크를 참고한다.

https://docs.python.org/3/library/exceptions.html#

 

로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
857 파이썬 파이썬 변수내용 문자열 자르기 특이한 점 2021.09.27 2965
856 [Docs]스프레드시트 구글 스프레드시트 쿼리 사용하기 #3 날짜편 2021.09.26 6245
855 [Docs]스프레드시트 구글 스프레드시트 쿼리 사용하기 #2 2021.09.26 3051
854 파이썬 파이썬 팍스넷 추천종목 특정페이지 크롤링 2021.09.23 3466
853 파이썬 파이썬 음력에서 양력변환 또는 양력에서 음력변환방법 2021.09.22 3791
852 파이썬 Python 메타블로그 글쓰기(제로보드, xpressengine blog api) 2021.09.18 3433
851 파이썬 python 에서 구글 캘린더 api 이용하기(server to server) 2021.09.17 3277
850 파이썬 파이썬 웹크롤링 오류 대처방법(verify=False)requests.exceptions.SSLError: 2021.09.16 3638
849 파이썬 파이썬 키움openAPI 보유종목 종목리스트 피라미드 매수주문하기 2021.09.16 3026
848 파이썬 파이썬 키움openAPI 보유종목 종목리스트 피라미드 매도주문하기 2021.09.16 2557
847 파이썬 파이썬 키움openAPI 원하는 종목리스트 10호가까지 피라미드 매수주문하기 2021.09.16 3567
846 파이썬 키움증권 openAPI 지정가분할매수주문.py 2021.09.13 3526
845 파이썬 파이썬 dictionary 딕셔너리 조작 2021.09.13 2536
844 파이썬 파이썬 openyxl 엑셀파일(xlsx) 저장하기 2021.09.11 2596
843 파이썬 파이썬 datetime 모듈로 초간단 날짜 표현하기 2021.09.11 2714
842 파이썬 파이썬 any, all 사용하기(배열데이터 안에 값이 하나라도 있는지 또는 모두 있는지 비교) 2021.09.11 1956
841 파이썬 파이썬 오류모음(에러모음) file 2021.09.09 3754
840 파이썬 키움 증권 API를 이용하여 주식 자동 매매 프로그램 개발 3 2021.09.07 3924
839 파이썬 파이썬 키움증권 open api 분할매매 주문하기 2021.09.07 2338
838 컴퓨터잡담 파이썬 네이버 증권 주식 현재가 가져오기 2021.09.06 1463
Board Pagination Prev 1 2 3 4 5 6 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소