2016-06-02 3 views
-3

Python에 처음 소개되었습니다. 함수의 결과가 true인지 아닌지를 테스트하는 try/except 블록을 사용하려고했습니다. 이 함수는 사용자로부터 간단한 입력을 받아 유효성을 검사합니다. 나는 다음과 같이하고 싶다 :함수가 true로 반환되었는지 확인하는 간단한 Python try 블록을 작성하려면 어떻게해야합니까?

try: 
    if(test_function()): 
    print('Input from test_function was true.') 
except: 
    print('Input from test_function was false.') 

아마 볼 수 있듯이, 그것은 코드의 다른 부분을 절대로 치지 않는다. 이것을 어떻게 할 수 있습니까?

+3

을 이것은'if' 문을위한 것입니다. 'try' -except는 예외를 잡는 것이다. – Evert

+0

예외 부분에 들어가려면 오류를 발생시켜야합니다. – njzk2

답변

2

이것은 시도/예외 상황이 아닙니다. 예외를 발생시킬 수 있습니다 코드 같은

try: 
    if(test_function()): 
     print('Input from test_function was true.') 
except: 
    print('test_function tried to do something illegal ... :-)') 
0

으로는 지적입니다 제외하고 당신이 try 필요하지 않습니다처럼

if(test_function()): 
    print('Input from test_function was true.') 
else: 
    print('Input from test_function was false.') 

시도가/보이는이 간단한 if 문이다 , except 블록, 그냥 단순한 if, else. 그러나 나는 당신이 조건에서 예외가 발생 할 몇 가지 상황을 볼 수 있고 패턴은 다음과 같습니다

try: 
    if not test_function(): 
     raise ValueError # Or some other sensible exception 
    print('Return from test_function was true.') 
except ValueError: 
    print('test_function tried to do something illegal ... :-)') 

을하지만 test_function() 예외 제기하는 경우 일반적으로는 try, except을 사용합니다 :

def test_function(): 
    if bad_condition: 
     raise ValueError 
    return True 

try: 
    print('Return from test_function was {}.'.format(test_function()) 
except ValueError: 
    print('test_function tried to do something illegal ... :-)') 
관련 문제