我可以在引发 ValueError 时显示索引号吗?
Can I show an index number when raising a ValueError?
我想检查以列表列表作为输入的给定函数的输入格式。我使用下面的代码来指示输入文件在哪个索引处格式错误:
for i, doc in enumerate(input_file):
if not isinstance(doc,list):
raise ValueError("The element of input_file at index ' + str(i) + ' is not a list")
但是,此代码(输入错误)的输出是:
ValueError: The element of input_file at index ' + str(i) + ' is not a list
因此,它不会将 str(i)
转换为实际数字。那里可以得到一个号码吗?
使用双引号 (") 代替单引号 (')
语法错误。您没有连接数字。
代码
raise ValueError("The element of input_file at index ' + str(i) + ' is not a list")
基本上只将 '+ str(i) +'
视为字符串。
试试这个:
raise ValueError(f"The element of input_file at index '{i}' is not a list")
我想检查以列表列表作为输入的给定函数的输入格式。我使用下面的代码来指示输入文件在哪个索引处格式错误:
for i, doc in enumerate(input_file):
if not isinstance(doc,list):
raise ValueError("The element of input_file at index ' + str(i) + ' is not a list")
但是,此代码(输入错误)的输出是:
ValueError: The element of input_file at index ' + str(i) + ' is not a list
因此,它不会将 str(i)
转换为实际数字。那里可以得到一个号码吗?
使用双引号 (") 代替单引号 (')
语法错误。您没有连接数字。
代码
raise ValueError("The element of input_file at index ' + str(i) + ' is not a list")
基本上只将 '+ str(i) +'
视为字符串。
试试这个:
raise ValueError(f"The element of input_file at index '{i}' is not a list")