Exception python中的输入异常

Exception python中的输入异常,exception,python-3.x,Exception,Python 3.x,运行以下代码时: try: key=int(input()) except ValueError as string: print("Error is within:",string) 例如,如果输入'rrr',此异常将上升,因为'rrr'不支持int 但是,它不是放实际字符串,而是放:以10为基数的int的无效文本:“rrr” 如何使变量“string”实际获得用户在本例中给出的错误输入,我希望它打印:“Error is within:rrr” 非常感谢存储输入并将其分别转换为i

运行以下代码时:

try:
   key=int(input())
except ValueError as string:
   print("Error is within:",string)
例如,如果输入'rrr',此异常将上升,因为'rrr'不支持int

但是,它不是放实际字符串,而是放:以10为基数的int的无效文本:“rrr”

如何使变量“string”实际获得用户在本例中给出的错误输入,我希望它打印:“Error is within:rrr”


非常感谢

存储输入并将其分别转换为int

key_str = input()
try:
    key = int(key_str)
except ValueError:
    print("Error is within:", key_str)

您只需解析错误msg:D

print("Error is within:", string.args[0][41:-1])

您的问题来自变量字符串是ValueError异常的错误消息这一事实。如果要打印出用户的无效输入,则需要在try/except之前创建一个存储用户输入的变量。例如:

userInput = input()
try:
   key=int(userInput)
except ValueError:
   print("Error is within:",userInput)

小提示:只需发布完整的错误消息我不能这样做,我必须发布一条不包含完整错误消息的给定消息。Pavel的意思是,发布您当前代码的准确回溯。您可以重新定义输入吗?@user3678068当然可以。输入只是一个名称,因此您可以将其从内置函数对象重新绑定到函数返回的字符串。Exception.message是从Python 3中删除的,而Python 3正是OP所使用的。