예외는 프로그램 실행 중 프로그램의 작동을 방해할 때 발생하는 이벤트를 의미한다. 일반적으로 python 스크립트는 대처할 수 없는 문제를 만날 때, 예외(exception)을 발생한다.
예외 처리
작성한 코드가 왠지 문제를 일으킬 수 있을 것 같다면, try: 블록으로 코드를 감싸면 된다. try: 블록에 있는 코드의 실행 중에 문제가 생기면 execption: 블록의 코드를 이용해서 문제를 해결하거나 로그를 남기는 등의 작업을 할 수 있다.
문법
try, execption의 간단한 사용법이다.
try:
You do your operations here;
......................
except ExceptionI:
If there is ExceptionI, then execute this block.
except ExceptionII:
If there is ExceptionII, then execute this block.
......................
else:
If there is no exception then execute this block.
중요한 점을 정리했다.
하나의 try문은 여러 개의 예외를 발생할 수 있다. 프로그래머는 예외종류에 따라서 다양한 대응을 할 수 있는 코드를 만들 수 있다.
파일 열기 실패 : [Errno 2] No such file or directory: 'editlog1'
예외 발생하기
raise를 이용해서 클래스나 함수에서 예외를 발생시킬 수도 있다.
def address(name,age):
if age < 0:
raise ValueError,"나이는 0 보다 커야합니다."
if age > 255:
raise ValueError,"나이는 255 보다 작아야합니다."
try:
address('yundream', 1000)
except ValueError,val:
print val
표준예외
사용자 정의 예외
표준예외 대신 사용자 정의를 만들어 사용할 수도 있다.
# -*- coding:utf-8 -*-
import os
import sys
class AgeError(ValueError):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
def address(name,age):
if age < 0:
raise AgeError,"나이는 0 보다 커야합니다."
if age > 255:
raise AgeError,"나이는 255 보다 작아야합니다."
try:
address('yundream', 1000)
except AgeError,e:
print e.value
Contents
예외란
예외 처리
문법
예제
try-finally 문
예외의 매개변수
예외 발생하기
표준예외
사용자 정의 예외
Recent Posts
Archive Posts
Tags