【发布时间】:2016-08-16 12:23:54
【问题描述】:
我想知道转换为字符串,即str(sth) 是否会引发像float(sth) 这样的异常?
我问这个知道是否有必要将我的代码包装在:
try:
x = str(value)
except ValueError:
x = None
确保执行不会因为转换失败而停止。
这在 Python 2 和 3 中是否也有所不同,因为 str 类在它们中有所不同??
【问题讨论】:
-
代码中执行“某事”的每个部分都可能出错,从而导致错误。 ;-) 但是由于您不能将所有内容都放在
try except中,所以我也会看看出现问题的可能性有多大。如果 canhce 很大,请放入他们自己的try except块中。如果机会较低,那么您最好将其放在具有多个代码行的try except块中。 -
@Tenzin:这不仅仅是异常发生的可能性的问题,而是出现异常时正确行为的问题。 OP 并没有含糊地问“嘿,有什么问题吗?”;相反,(s)他特别询问字符串转换是否具有“这个值不能转换为字符串”的概念(
ValueError),因为如果是这样,(s)他有一个合理的方法来处理他的/她的情况。 -
高度嵌套的数据结构可能会因为递归限制而触发异常...
标签: python string python-3.x casting