我可以在积极的情况下返回异常吗?

时间:2014-04-18 12:07:22

标签: python exception

我想创建简单的代码而不检查方法是否返回True

    try:
        self.__verify_headers(request)
        self.__has_mguid(request)
        self.__verify_devices_counter(request, course)
        self.__save_device(request, course)
    except NoAdditionalHeaderException, KeyError:
        raise Exception("No additional headers in request")
    except DeviceExistException:
        return True

方法__has_mguid抛出异常DeviceExistException

这是一种正确的方法吗?我不想把丑陋的代码写成:

if True == self.__has_mguid(request):
   return True

您怎么看?

1 个答案:

答案 0 :(得分:4)

我不会这样做。见the python docs

存在(至少)两种可区分的错误:语法错误和异常。

执行期间检测到的错误称为异常

所以异常就是错误。当出现问题时,它们会发生,而不是在出现预期的情况时发生。


我不想把丑陋的代码写成:

if True == self.__has_mguid(request): 
    return True

而不是你可以这样做:

return self.__has_mguid(request)

如果self.__has_mguid(request)True,则会返回True,如果是False,则会返回False