gpt4 book ai didi

python - try catch 异常时忽略打印语句

转载 作者:太空宇宙 更新时间:2023-11-04 10:39:54 24 4
gpt4 key购买 nike

我有这个简单的 try-except 代码:

self.tf.router.EchoProg(state=1)
try:
print "\tCheckTestFirmwareCommunication_SetPort: "
print self.tf.DUT.CheckTestFirmwareCommunication_SetPort()
except NoResponseException, e:
print "\tCheckTestFirmwareCommunication_SetPort: ", repr(e)
self.tf.router.EchoProg(state=0)

异常输出:

CheckTestFirmwareCommunication_SetPort:
CheckTestFirmwareCommunication_SetPort: DD_NoResponseException()

问题:

  1. 谁能解释一下为什么即使出现异常我仍然看到打印语句?

  2. 如果 try-except 捕获异常,是否可以忽略打印语句?

最佳答案

抛出异常的是第二 print 行:

print self.tf.DUT.CheckTestFirmwareCommunication_SetPort()

第一个 print 行没有被执行。

Python 执行 try 组中的每条语句,只有当一个语句抛出异常时,才会中止执行并转移到 except block 。如果您不希望在 CheckTestFirmwareCommunication_SetPort 抛出异常时执行第一个 print 语句,首先调用该方法:

self.tf.router.EchoProg(state=1)
try:
port = self.tf.DUT.CheckTestFirmwareCommunication_SetPort()
print "\tCheckTestFirmwareCommunication_SetPort: "
print port
except NoResponseException, e:
print "\tCheckTestFirmwareCommunication_SetPort: ", repr(e)
self.tf.router.EchoProg(state=0)

关于python - try catch 异常时忽略打印语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21285721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com