我不知道如何使用我的 Python 语句只显示一次错误消息
I don't know how to only show error message once with my Python statement
我是 Python/Flask 的新手,我正在尝试让代码块仅在 UI 中显示一次错误消息 -(并根据如何阻止它重复发现很多错误)。我已经看到关于此问题的其他问题的回答,大多数响应在打印语句后使用某种形式的中断......但从我尝试过的情况来看,这对我的代码不起作用,因为我不只是打印错误- 错误消息被放入一个变量中,然后将在屏幕上显示给用户。
error_messages = []
designer_returned_an_error = isinstance(result, str)
if designer_returned_an_error:
print("Designer returned an error, not running additional checks")
return {"message": result}, 400
# checks for screens with length of 1 or 0 in the list of lists
list1 = result[0]
print(list1)
for screens in list1:
print(len(screens))
if len(screens) <= 1:
error_message = 'Based on these parameters you do not have enough items per screen to create a design.'
error_messages.append(error_message)
也许使用一个在抛出错误时写入的文本文件,并在你的 if 语句中检查写入的文本是否在文本文件中,所以它只在没有任何内容时说有错误在文件中。像这样:
f = open('examplename.txt', 'r+')
fileInfo = f.read()
error_messages = []
designer_returned_an_error = isinstance(result, str)
if designer_returned_an_error and fileInfo=="":
print("Designer returned an error, not running additional checks")
return {"message": result}, 400
f.write("error already thrown")
# checks for screens with length of 1 or 0 in the list of lists
list1 = result[0]
print(list1)
for screens in list1:
print(len(screens))
if len(screens) <= 1:
error_message = 'Based on these parameters you do not have enough items per screen to create a design.'
error_messages.append(error_message)
如果出现错误,你可以打破循环,因为这是一个被阻止的错误,例如只需在错误条件内添加一个 break
,你也可以通过代码定义你的错误并将消息设置在循环:
error_messages = []
designer_returned_an_error = isinstance(result, str)
if designer_returned_an_error:
print("Designer returned an error, not running additional checks")
return {"message": result}, 400
# checks for screens with length of 1 or 0 in the list of lists
list1 = result[0]
print(list1)
for screens in list1:
print(len(screens))
if len(screens) <= 1:
error_message = 'Based on these parameters you do not have enough items per screen to create a design.'
error_messages.append(error_message)
break
或者您可以执行以下操作:
error_messages = []
items_with_errors = {'screen':[]}
designer_returned_an_error = isinstance(result, str)
if designer_returned_an_error:
print("Designer returned an error, not running additional checks")
return {"message": result}, 400
# checks for screens with length of 1 or 0 in the list of lists
list1 = result[0]
print(list1)
for screens in list1:
print(len(screens))
if len(screens) <= 1:
items_with_errors['screen'].append(screens)
if len(items_with_errors['screen']) > 0:
error_messages.append(f'Based on these parameters you do not have enough items per screen to create a design. You must have at least {len(items_with_errors['screen'])} item(s) per screen')
我是 Python/Flask 的新手,我正在尝试让代码块仅在 UI 中显示一次错误消息 -(并根据如何阻止它重复发现很多错误)。我已经看到关于此问题的其他问题的回答,大多数响应在打印语句后使用某种形式的中断......但从我尝试过的情况来看,这对我的代码不起作用,因为我不只是打印错误- 错误消息被放入一个变量中,然后将在屏幕上显示给用户。
error_messages = []
designer_returned_an_error = isinstance(result, str)
if designer_returned_an_error:
print("Designer returned an error, not running additional checks")
return {"message": result}, 400
# checks for screens with length of 1 or 0 in the list of lists
list1 = result[0]
print(list1)
for screens in list1:
print(len(screens))
if len(screens) <= 1:
error_message = 'Based on these parameters you do not have enough items per screen to create a design.'
error_messages.append(error_message)
也许使用一个在抛出错误时写入的文本文件,并在你的 if 语句中检查写入的文本是否在文本文件中,所以它只在没有任何内容时说有错误在文件中。像这样:
f = open('examplename.txt', 'r+')
fileInfo = f.read()
error_messages = []
designer_returned_an_error = isinstance(result, str)
if designer_returned_an_error and fileInfo=="":
print("Designer returned an error, not running additional checks")
return {"message": result}, 400
f.write("error already thrown")
# checks for screens with length of 1 or 0 in the list of lists
list1 = result[0]
print(list1)
for screens in list1:
print(len(screens))
if len(screens) <= 1:
error_message = 'Based on these parameters you do not have enough items per screen to create a design.'
error_messages.append(error_message)
如果出现错误,你可以打破循环,因为这是一个被阻止的错误,例如只需在错误条件内添加一个 break
,你也可以通过代码定义你的错误并将消息设置在循环:
error_messages = []
designer_returned_an_error = isinstance(result, str)
if designer_returned_an_error:
print("Designer returned an error, not running additional checks")
return {"message": result}, 400
# checks for screens with length of 1 or 0 in the list of lists
list1 = result[0]
print(list1)
for screens in list1:
print(len(screens))
if len(screens) <= 1:
error_message = 'Based on these parameters you do not have enough items per screen to create a design.'
error_messages.append(error_message)
break
或者您可以执行以下操作:
error_messages = []
items_with_errors = {'screen':[]}
designer_returned_an_error = isinstance(result, str)
if designer_returned_an_error:
print("Designer returned an error, not running additional checks")
return {"message": result}, 400
# checks for screens with length of 1 or 0 in the list of lists
list1 = result[0]
print(list1)
for screens in list1:
print(len(screens))
if len(screens) <= 1:
items_with_errors['screen'].append(screens)
if len(items_with_errors['screen']) > 0:
error_messages.append(f'Based on these parameters you do not have enough items per screen to create a design. You must have at least {len(items_with_errors['screen'])} item(s) per screen')