如何从错误中获取值?

时间:2017-05-20 12:08:56

标签: python error-handling

我正在尝试修复我制作的文字RPG,我只需要知道如何从错误中获取值。

我需要这样做,所以我可以创建一个系统,允许你输入一个字符串并为游戏输出一些数据。

if VauleError == True:
    retry()

所以我使用它是为了这个。

while do == "" or do.len(4):                            
    cls()                                                     
    do = input("Data? (Press enter if nothing.)")             
    if do == "":                                              
        while " " in name:                                    
            name = input("Name the hero. ")                   
            if " " in name:                                   
                input("Please don't use spaces")              
                cls()                                         
    else:                                                     
        try:                                                  
            name = str(do.split()[0])                         
            kills = int(do.split()[1])                        
            extra_hp = int(do.split()[2])                     
            extra_dmg = int(do.split()[3])                    
            gold = int(do.split()[4])                         
        except ValueError:                                    
            input("Invalid Save.")                            
            cls()                                             
        else:                                                 
            input("Save Loaded.") 

我不知道我会怎么做。 cls()是清晰的屏幕。

1 个答案:

答案 0 :(得分:1)

根据评论编辑。

使用try和except块。

user_input = ""
while user_input == ""
    try:
        user_text = input()
        #Code that throws the value error
    except ValueError:
        print("Invalid option. Please input...")
        user_text = ""
        #What you want to happen for this specific error
#Continue with program

每次user_text被抛出时,这将使""再次转到ValueError,保持循环继续,直到ValueError不被抛出。