为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

神不在的星期二 2021-11-09 10:39:16
这是我的 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))    raise2: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 中捕获“设备上没有剩余空间”?有什么我可以使用的错误代码吗?
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

import errno


try:

    ...

except Exception as e:

    if e.errno == errno.ENOSPC:

        # no space left

        # handle it here


查看完整回答
反对 回复 2021-11-09
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

如果它是一个有效的异常,那么您将获得如下所示的异常名称。一旦你有了名字,你就可以优雅地处理这个异常


try:

    #do something

except Exception as exception:

    print(exception.__class__.__name__)


查看完整回答
反对 回复 2021-11-09
  • 2 回答
  • 0 关注
  • 242 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信