프로세스에서 스크립트 종료 제어를 배치해야하는 곳이 궁금합니다.조건부 스크립트 종료 및 위임 제어
스크립트가 계속되어야하는지 여부를 결정하는 데 함수가 사용되는 경우 결과에 따라 호출자 또는 호출 수신자가 제어해야합니까?
시나리오가있을 수 있습니까?
(나는이 질문은 넓은 의미 그래서 프로그래밍에서 높은 수준의 연습에 대한 답변을 확장 주시기 바랍니다있다 확신합니다. 즉, 실제로 좋은 것)
내가 옵션으로 고려하는 아래의 몇 가지 예를 나열합니다 조건부 스크립트 종료 및 제어가 위임 될 수 있는지 여부
should_continue
은 제공된 arg가 유효하고 스크립트가 계속 유효 함을 확인하고 있다고 가정합니다. 그렇지 않으면 종료됩니다.
'''
ex 1: return state to parent process to determine if script continues
'''
def should_continue(bool):
if bool:
return True
else:
return False
def init():
if should_continue(True):
print 'pass'
else:
print 'fail'
'''
ex 2: return state only if script should continue
'''
def should_continue(bool):
if bool:
return True
else:
print 'fail'
sys.exit() # we terminate from here
def init():
if should_continue(True):
print 'pass'
'''
ex 3: Don't return state. Script will continue if should_continue doesn't cause termination of script
'''
def should_continue(bool):
if not bool:
print 'fail'
sys.exit()
def init():
should_continue(True)
print 'pass'
답장을 보내 주셔서 감사합니다. 하나의 질문. 예외를 발생시키는 메서드를 호출하는 메서드로 로컬 처리하지 않고 예외를 메인에서 처리하도록하는 것이 좋습니다. – BIOS
"예상치 못한 문제를 고칠 수는 있지만 수정 할 수없는 것을 잡아서 호출자가 예상하지 못한 것을 처리하게하십시오."거래하는 "코드가 스택에서 최대 7 레벨 인 경우에도 본관." - [사전 답변]에서 (http://stackoverflow.com/questions/2843112/how-can-i-find-a-list-of-all-exceptions-that-a-given-library-function-throws -in/2843649 # 2843649). – msw
좋은 답변입니다. 매우 간결합니다. 고마워. 귀하의 다른 대답은 정말 내 목적에 도움이됩니다 :) – BIOS