【发布时间】:2019-02-16 11:14:54
【问题描述】:
现在我有一个除了字符串之外的函数,如果用户也应该不返回任何内容:
- 不传入字符串OR
- 对参数执行操作时引发特定异常
这是我的做法:
def fnctn(num_str):
if not isinstance(num_str, str):
return None
try:
num = phonenumbers.parse(num_str, 'US')
except phonenumbers.phonenumberutil.NumberParseException:
return None
...
我只是想知道是否有更清洁的方法来做到这一点。就像我是否可以检查传入的参数是否为字符串并检查操作是否在同一行抛出异常?
【问题讨论】:
-
将非字符串对象传递给
phonenumbers.parse()时会发生什么?在这种情况下会抛出什么异常?也许它仍然会抛出phonenumbers.phonenumberutil.NumberParseException,或者抛出TypeError或ValueError,你可以在同一行except中捕获它们..
标签: python if-statement exception