如何在Python中捕获特定的ExecuteError?

如何在Python中捕获特定的ExecuteError?,python,error-handling,try-except,Python,Error Handling,Try Except,我的一个脚本中出现了一个特定错误: ExecuteError: ERROR 000229: Cannot open F:\path\to\file.tif 我使用try/except块隔离了这些实例: try: #Do something except: #Do something in the event of failure 如何在语句中捕获上述特定的ExecuteError(除语句外)?您不能。但是,您可以检查异常对象的各种属性,以查看它是否是您关心的对象,否则将重新

我的一个脚本中出现了一个特定错误:

ExecuteError: ERROR 000229: Cannot open F:\path\to\file.tif
我使用try/except块隔离了这些实例:

try:
    #Do something

except:
    #Do something in the event of failure

如何在
语句中捕获上述特定的ExecuteError(除
语句外)?

您不能。但是,您可以检查异常对象的各种属性,以查看它是否是您关心的对象,否则将重新引发异常

try:
   ...
except ExecuteError as e:
  if not can_handle(e):
    raise
  handle(e)

你不能。但是,您可以检查异常对象的各种属性,以查看它是否是您关心的对象,否则将重新引发异常

try:
   ...
except ExecuteError as e:
  if not can_handle(e):
    raise
  handle(e)

你不能。但是,您可以检查异常对象的各种属性,以查看它是否是您关心的对象,否则将重新引发异常

try:
   ...
except ExecuteError as e:
  if not can_handle(e):
    raise
  handle(e)

你不能。但是,您可以检查异常对象的各种属性,以查看它是否是您关心的对象,否则将重新引发异常

try:
   ...
except ExecuteError as e:
  if not can_handle(e):
    raise
  handle(e)

有点黑,但如果你想抓住000229,你只能这样做:

try:
    # your code
except ExecuteError as err:
    if str(err.message).startswith("ERROR 000229"):
        # do something
    else:
        # do something else

有点黑,但如果你想抓住000229,你只能这样做:

try:
    # your code
except ExecuteError as err:
    if str(err.message).startswith("ERROR 000229"):
        # do something
    else:
        # do something else

有点黑,但如果你想抓住000229,你只能这样做:

try:
    # your code
except ExecuteError as err:
    if str(err.message).startswith("ERROR 000229"):
        # do something
    else:
        # do something else

有点黑,但如果你想抓住000229,你只能这样做:

try:
    # your code
except ExecuteError as err:
    if str(err.message).startswith("ERROR 000229"):
        # do something
    else:
        # do something else