如何在 Python 中捕获指定的错误“[Errno 28] 设备上没有剩余空间”

这是我的 Python 代码的一小部分:


except Exception1:

    logger.error("Exception 1. Exit.")

    sys.exit(-1)

except Exception 2, e:

    logger.error("Exception 2: {e}".format(e=e.message))

有时我会收到一个错误:


INFO - 2019-01-28 16:44:49,399 - data_loader - ERROR - Exception 2: [Errno 28] No space left on device

问题是程序返回 0 代码,我看不到有错误。


我找到了两个解决方案。


1:


except Exception1:

    logger.error("Exception 1. Exit.")

    sys.exit(-1)

except Exception 2, e:

    logger.error("Exception 2: {e}".format(e=e.message))

    raise

2:


except Exception1:

    logger.error("Exception 1. Exit.")

    sys.exit(-1)

except Exception 2, e:

    logger.error("Exception 2: {e}".format(e=e.message))

except [ExceptionCode]:

    raise("No space left on device")

我的问题是 - 如何在 Pyhton 中捕获“设备上没有剩余空间”?有什么我可以使用的错误代码吗?


神不在的星期二
浏览 243回答 2
2回答

回首忆惘然

import errnotry:    ...except Exception as e:    if e.errno == errno.ENOSPC:        # no space left        # handle it here

扬帆大鱼

如果它是一个有效的异常,那么您将获得如下所示的异常名称。一旦你有了名字,你就可以优雅地处理这个异常try:    #do somethingexcept Exception as exception:    print(exception.__class__.__name__)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python