python - 我的 raise 语句是否应该在 for 循环内
问题描述
我有一个关于我的代码的快速问题。这个 raise 语句应该放在 for 循环的外部还是内部?如果它在外面,它会得到错误并引发它吗?
try:
for key, value in options:
my_list.extend([key, value])
raise ValueError
except ValueError as e:
logger.debug('Too many options to unpaack: ', e)
我的代码会更好,还是该raise ValueError
行没有添加缩进并与 for 循环的开头对齐?
解决方案
您没有 If 语句,因此对于您当前的代码,它总是在第一个循环中引发错误 - for 循环只会运行一次。raise 错误是不必要的,因为当您用 try 包装它并期望是否有任何 ValueError 时,它会以任何方式捕获异常,因此您可以将其推迟
推荐阅读
- mysql - 4 表连接并求一列的平均值
- xml - Base64 解码并解压缩为字符串 (Java 7)
- django - 处理 Django 用户订阅到期日期
- view - 在 CKAN 2.7.2 中运行 fiware-ngsi 插件需要哪个 ckan 视图?
- azure - Azure Application Insights 基于百分比的警报
- ios - Alamofire JSON 编码布尔问题?
- django - Django 管理查询以列出特定记录
- mysql - SQL - 如何在 mysql 的行中获取先前的值和 nexrt 值?
- javascript - 是否仅在“状态”更改或“道具”更改时才调用“渲染”方法?
- enums - 如何构造/解构枚举的枚举?