如何在python中使用嵌套try/catch?

2024-05-28 23:14:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码,其中我必须处理2个语句的异常

二线和四线

if(re.search("USN:.*MediaRenderer", datagram, flags=re.IGNORECASE)):
    deviceXML = re.search("LOCATION:(.*.xml)", datagram, flags=re.IGNORECASE).group(1)   # this line            
    root = ElementTree.fromstring(urllib2.urlopen(XMLLocation).read())                
    friendlyName = root.find('.//{}friendlyName'.format(Server.namespace)).text   # this line
    if not friendlyName in deviceList.keys():
       deviceList[friendlyName] = host
    self.model.setStringList(deviceList.keys())

如何在这里使用嵌套try/catch

我尝试了以下方法:

^{pr2}$

这是给我一个除了行的缩进误差


Tags: 代码researchiflineroot语句keys
1条回答
网友
1楼 · 发布于 2024-05-28 23:14:07

您的内部try块缺少except子句(这是必需的)。在

try:
    # do something risky

    try:
        # do another risky thing
    except:  # <  this is required
        # handle the inner exception

except Exception as exc:
    # handle outer exception

但您可能需要重新构造代码,使其具有两个独立的块。这样会更干净,更容易理解/维护。在

^{pr2}$

相关问题 更多 >

    热门问题