从except子句中引发异常

时间:2016-09-10 20:09:13

标签: python exception-handling

我想知道我们是否可以做以下事情:
我们捕获套接字错误,如果消息不是某个值,则  提出异常,以便在下面的下一般情况下被捕?

try:
    some logic to connect to a server..   

except socket.error as se:
    if se.messsage != '123':
       raise Exception(se.message)
except exception as ex:
    log.error('write something')

2 个答案:

答案 0 :(得分:2)

为此,您需要一组try-catch块。一旦捕获到异常,重新抛出异常结果就会在外层捕获异常。尝试if块中的else或者只是在另一个中嵌套try-except块,如下所示:

try:
    try:
        #...
    except:
        raise
except:
    pass

答案 1 :(得分:-1)

您只需使用raise不带参数重新引发异常:

try:
    # some code
except:
    if condition:
        raise