Skip to content
조회 수 2868 추천 수 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
번호 분류 제목 날짜 조회 수
897 컴퓨터잡담 [php] 특수문자 -> 엔티티, 엔티티 -> 특수문자 2 2009.09.19 19807
896 컴퓨터잡담 한글프로그램 메뉴-모양-세로쓰기 2009.09.21 15752
895 컴퓨터잡담 사이트 디자인 무료 템플릿 공유 1 2009.09.23 22758
894 컴퓨터잡담 오토런 바이러스 1 2009.10.01 11369
893 컴퓨터잡담 PHP로 그림에 글자 입히기 2009.10.17 19996
892 컴퓨터잡담 php로 이미지를 mysql디비 저장하고 보여주는 소스 4 3 2009.10.17 62322
891 컴퓨터잡담 php 이미지 저장 및 이미지크기를 줄여 저장기술 소스 2009.10.17 14232
890 컴퓨터잡담 PHP로 FTP 접속 / 업로드 / 다운로드 등의 컨트롤 소스 2 3 2009.10.20 32766
889 컴퓨터잡담 jQuery 강좌 3 2009.10.27 12630
888 컴퓨터잡담 MYSQL 최적화 2 2009.11.13 22447
887 컴퓨터잡담 많은 DB 요청시 자동으로 막히는 현상 해제 2009.11.17 22924
886 컴퓨터잡담 mysql 재시작, 사용자 추가 명령어 1 2 2009.11.19 32229
885 컴퓨터잡담 bat(배치)파일 문법 3 2009.11.19 13294
884 컴퓨터잡담 bat(배치)파일 문법 3 2009.11.19 12460
883 컴퓨터잡담 mysqladmin 3 2009.11.19 14065
882 컴퓨터잡담 서버 해킹 당하다~ 1 6 2009.11.20 15662
881 컴퓨터잡담 MYSQL 미 해결 과제 : Can't connect to MySQL server on 'localhost'(10055) 3 3 2009.11.21 64231
880 컴퓨터잡담 bat(배치) 파일 제대로 쓰기 2009.11.24 6874
879 컴퓨터잡담 Ghost용 배치 파일 작성 예 1 2009.11.24 8162
878 컴퓨터잡담 Windows 초간단 remote 백업 명령 2009.11.24 23511
Board Pagination Prev 1 2 3 4 5 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소