Which of the following ways is better to handle something wrong? Many thanks.<br><br># First:<br>def is_valid_project():<br>    # Do checks and valorize is_a_valid_project accordingly<br>    return is_a_valid_project # True / False<br>
<br># caller side<br>
if is_valid_project():<br>
    pass # do stuffs with valid project<br>else:<br>    print &quot;error&quot;<br><br># Second solution:<br>def is_valid_project():<br>    # Do checks and valorize is_a_valid_project accordingly<br>
    if not is_a_valid_project:<br>        raise NotAValidProject<br><br># caller side<br>try:<br>    is_valid_project()<br>    pass # do stuffs with valid project<br>except NotAValidProject:<br>    print &quot;error&quot;<br>