python-3.x - 异常或其他块级范围中的变量范围
问题描述
采取以下例外:
>>> try:
... 1/0
... except Exception as e:
... print (e)
...
division by zero
>>> e
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'e' is not defined
范围是否except
仅在异常块内?如果是这种情况,语句之外是否还有其他语句/表达式with
(尽管它需要一个__enter__
方法,因此不能仅仅用作任何东西的限制范围)允许这样做?
如果您需要在异常之后保留范围,您可以在块内进行分配。例如:
try:
1/0
except Exception as _:
e=_
>>> e
# ZeroDivisionError('division by zero')
解决方案
推荐阅读
- c++ - c++模板实现矩阵
- java - Logstash 使用 ruby 过滤器,ElasticSearch id 如何控制?
- angular6 - 如何将 observable 转换为另一个 observable
- package - 在 Ubuntu 17.10 上安装 OpenMPI
- css - 当容器宽度小于视口宽度时如何给子元素全宽文档
- php - 带有 Cookie 的 POST 请求 | Python > PHP
- javascript - 动态传递父对象以作为javascript中的参数
- javascript - 具有特定条件的java脚本中的样式
- regex - 正则表达式 - 如何捕获 URL 中存在的文件名
- python - 用python从json中提取数据