본문 바로가기
파이썬

파이썬 Python 인터프리터를 종료하지 않고 오류 문을 던지고 Python 함수를 종료하는 방법

by º기록 2020. 12. 21.
반응형

저는 Python을 처음 접했고 자체 정의 오류를 처리하는 데 어려움을 겪고 있습니다. 내 코드가 오류를 발견하면 빨간색 글꼴로 오류를 던지고 Python을 죽이지 않고 Python 터미널로 돌아 가기를 원합니다.

답을 찾기 위해 sys.exit ()를 발견했지만 Python을 완전히 종료합니다. 빨간색 글꼴로 오류를 표시하고 나를 다시 터미널로 안내하는 대안을 알고 있습니까?

이것이 제가 지금까지 가지고있는 것입니다.

import sys
def do_something(parameter):
    if parameter > 100:
        # quit the function and any function(s) that may have called it
        sys.exit('Your parameter should not be greater than 100!')
    else:
        # otherwise, carry on with the rest of the code

확실하지 않은 경우 알려 주시면 더 자세한 정보를 제공해 드리겠습니다. 미리 감사드립니다!

 

해결 방법

 

최소한 두 가지 옵션이 있습니다.

return 문 사용 :

def do_something(parameter):
    if parameter > 100:
        # display error message if necessary
        return  # 'exit' function and return to caller
    # rest of the code

something 값을 호출자에게 다시 전달하여 반환 할 수도 있습니다. 예를 들어 상태 코드를 제공하는 데 사용할 수 있습니다 (예 : 0 : 성공, 1 : 오류).

또는 더 나은 방법은 예외를 발생 하는 것입니다.

def do_something(parameter):
    if parameter > 100:
        raise ValueError('Parameter should...')
    # rest of the code

try:
    do_something(101)
except ValueError, e:
    # display error message if necessary e.g. print str(e)


내장 된 예외 클래스 (위의 ValueError 와 같은)가 있습니다. 다음과 같이 직접 정의 할 수도 있습니다.

class ParameterError(Exception):
    pass

또한 사용자 지정 예외 클래스에 추가 코드를 추가하여 매개 변수를 처리하고 사용자 지정 오류 메시지를 표시 할 수 있습니다.


 

참조 페이지 https://stackoverflow.com/questions/22132272

 

 

반응형

댓글