python

예외처리

powergirl 2025. 6. 5. 11:55
try문을 일반적인 프로그램을 개발할 땐 피하자

오류가 발생할 수 밖에 없는 상황에선(특히, 프레임워크를 쓸 때) try 문을 작성해도 상관없지만 일반적인 프로그램은 try문을 쓰는것을 최소한하면 좋다.
성능적인 부분이나 오류 통제의 측면에서 최선의 방법은 아니기 때문이다.

글자를 int 로 만들 때 에러
>> .isnumeric() 을 먼저 사용
>> re 모듈을 이용하여 정규표현식으로 처리
>> try는 최후의 수단 

 

 

python 코드를 짜면서 에러가 날 때
test = "테스트"

test = int(test)#ValueError: invalid literal for int() with base 10: '테스트'

 

"테스트" 문자열은 int 로 변경 할 수 없음 >> ValueError

 

 

 

 

try 문을 이용하여 예외처리
test = "테스트"

try :
    print(test) #테스트
    test = int(test)

    #해당 라인 실행 되지 않음
    print(test) 
except ValueError as e:
    print(e) #invalid literal for int() with base 10: '테스트'

 

ValueError 발생시 except ValueError 로 가서 실행 됨

 

 

 

 

finally 문 이용하여 에러가 발생하더라도 다음코드를 실행시키기
test = "테스트"

try :
    print(test) #테스트
    test = int(test)

    print(test) 
except ValueError as e:
    print(e)
finally :
    print(test) #테스트

finally 절은 try 문 수행 도중 예외 발생 여부에 상관없항상 실행한다.

 

 

 

 

else 는 오류가 발생하지 않으면 실행된다.
def test(any) :
    try :
        test = int(any)
        
    except ValueError as e:
        return e
        
    else :
        return test

test(123) #123
test("테스트") #ValueError("invalid literal for int() with base 10: '테스트'")

 

 

 

 

 

오류 회피하기 - pass
test = "테스트"

try :
    test = int(test)
except ValueError as e:
    pass

 

 

 

 

오류 일부러 발생시키기 - raise
raise ValueError

 

'python' 카테고리의 다른 글

b''  (0) 2025.10.30
리스트사용 - 내장함수  (0) 2025.06.05
함수  (0) 2025.06.05
딕셔너리 자료형  (0) 2025.05.30
range()  (0) 2025.05.30