在这种情况下,我应该如何插入try-except

问题描述 投票:-1回答:1

Task1

编写一个脚本,该脚本从STDIN读取一个字符串并引发ValueError如果字符串包含超过10个字符,则异常,否则打印读取字符串。

我写了这样的代码

a = input("Enter a string")
if(len(a) > 10):
    raise ValueError
else:
    print(a)

Task2

使用try ... except子句。在里面打印错误信息,除了阻止。

我现在很困惑,我如何在这里使用try-except,因为要在except块中打印任何消息,程序必须在try块中失败

我的输入将是PythonIsAmazing

python python-3.x try-except
1个回答
1
投票

您可以如下将整个内容包装在try ... except中:

a = input("Enter a string: ")

try:
    if(len(a) > 10):
        raise ValueError
    print(a)
except ValueError:
    print("String was longer than 10 characters")

或者,如果您要提出很多不同的ValueErrors,则可以分别给每条错误消息:

a = input("Enter a string: ")

try:
    if(len(a) > 10):
        raise ValueError("String was longer than 10 characters")
    print(a)
except ValueError as e:
    print(e)

例如:

Enter a string: test
test

Enter a string: PythonIsAmazing
String was longer than 10 characters
© www.soinside.com 2019 - 2024. All rights reserved.