首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Python中捕获指定的错误"[Errno 28] No space left on device“

如何在Python中捕获指定的错误"[Errno 28] No space left on device“
EN

Stack Overflow用户
提问于 2019-02-14 22:39:50
回答 2查看 856关注 0票数 0

下面是我的Python代码的一小部分:

代码语言:javascript
运行
复制
except Exception1:
    logger.error("Exception 1. Exit.")
    sys.exit(-1)
except Exception 2, e:
    logger.error("Exception 2: {e}".format(e=e.message))

有时我会收到一个错误:

代码语言:javascript
运行
复制
INFO - 2019-01-28 16:44:49,399 - data_loader - ERROR - Exception 2: [Errno 28] No space left on device

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

我找到了两个解决方案。

1:

代码语言:javascript
运行
复制
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:

代码语言:javascript
运行
复制
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中捕获“设备上没有剩余空间”?有没有我可以使用的错误代码?

EN

回答 2

Stack Overflow用户

发布于 2019-02-14 22:47:28

代码语言:javascript
运行
复制
import errno

try:
    ...
except Exception as e:
    if e.errno == errno.ENOSPC:
        # no space left
        # handle it here
票数 2
EN

Stack Overflow用户

发布于 2019-02-14 22:49:02

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

代码语言:javascript
运行
复制
try:
    #do something
except Exception as exception:
    print(exception.__class__.__name__)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54692954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档