绕过Base或Generic异常

时间:2018-04-06 10:59:04

标签: python python-2.7 exception exception-handling

在我的框架中,我向用户公开了一个方法,它引发了一个自定义异常并在框架中处理它,如果引发的话。 但是在使用我的方法时,用户使用了泛型catch块(Exception或except),因此它没有按预期处理。

我有什么方法可以解决这个问题, i)使我的自定义异常绕过泛区除了块(或仅被我的自定义除了块捕获)。 ii)遇到条件时直接将流程返回test_driver。

注意:我不能限制用户使用通用catch块。

1 个答案:

答案 0 :(得分:0)

不,没有办法绕过try ... except。可以抛出的每个异常也可以通过except捕获。这就是异常处理的全部要点。

尝试绕过异常处理程序不是正确的解决方案。如果您的用户捕获了您的异常,那么您无能为力。以这种方式看待它:用户发现了一个他不应该抓住的异常。这是用户代码中的错误。处理错误的正确方法是修复它们,而不是试图绕过它们。对此问题采取任何行动都不是您的责任 - 用户有责任修复该错误。