gpt4 book ai didi

Python 引发异常并返回默认值

转载 作者:太空宇宙 更新时间:2023-11-04 10:20:39 25 4
gpt4 key购买 nike

我正在使用 geopy 的 GoogleV3 编写一个函数来从经度和纬度获取地址:

from retrying import retry
@retry(wait_exponential_multiplier=500, wait_exponential_max=4000, stop_max_attempt_number=5)
def get_address(lat, lon):
state = 'unknown'
country = 'unknown'
geo = GoogleV3(api_key='my-secret-api-key')
location = geo.reverse((lat, lon), timeout=10, exactly_one=True)
if location == None:
raise ValueError('a valid location for %d, %d is not found' % (lat, lon))
for item in location.raw['address_components']:
if u'administrative_area_level_1' in item[u'types']:
state = item['short_name']
if u'country' in item[u'types']:
country = item['long_name']
return state, country

这里的retrying装饰器会自动重试异常。这里我想抛出一个异常,表示给定的lonlat是无效的,同时返回countrystate 都为“未知”。我想知道在 Python 中是否有这样做的方法。

最佳答案

没有。在任何给定的调用中,函数可以引发异常,也可以返回一个值。它不能同时做到这两点。

关于Python 引发异常并返回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32465302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com