我正在开发一个基于discogs_client
库的应用程序,它基于requests
。你知道吗
我试图在discogs
数据库中为我的mp3目录找到ID,并将其保存到sqlite
db。应用程序根据文件标签识别一些intel,然后有几个函数,这些函数被逐个触发,并以不同的方式使用这些信息来查询discogs
db。有些函数很快,有些函数很复杂而且很长。有时发生连接错误,有时找不到艺术家。你知道吗
我想知道如何优雅有效地处理这些错误。我的意思是,我想重复它停止的函数,或者,如果可能的话,在函数中重复循环的步骤。现在我重复整个应用程序的第一步-目录,这是非常恼人的连接时,断开了最后一个函数运行,经过几个小时的工作,以前的函数。你知道吗
我知道有一种方法可以使try
/except
语句在while True:
循环中使用continue
作为except
指令,但我认为有一种快速有效的方法可以使它像这样工作,而不是将每个简单函数放在while True:
循环异常语句中。你知道吗
以下是一组函数:
def find_a_master(cat_attrs, f_attrs_list):
while True:
m_by_token(cat_attrs, 10)
if is_found(cat_attrs, 'd_master'):
break
m_by_album(cat_attrs, 50)
if is_found(cat_attrs, 'd_master'):
break
m_by_variations(cat_attrs, 100)
if is_found(cat_attrs, 'd_master'):
break
m_by_token_cut(cat_attrs, 10)
if is_found(cat_attrs, 'd_master'):
break
m_by_album_fuzz(cat_attrs)
if is_found(cat_attrs, 'd_master'):
break
m_by_album_fuzz_excl(cat_attrs)
if is_found(cat_attrs, 'd_master'):
break
if config.manual_mode:
m_by_manual(cat_attrs)
if is_found(cat_attrs, 'd_master'):
break
m_by_artist(cat_attrs)
break
return cat_attrs
目前没有回答
相关问题 更多 >
编程相关推荐