【问题标题】:How should I insert try-except in this scenario在这种情况下我应该如何插入 try-except
【发布时间】:2020-05-07 14:58:03
【问题描述】:

任务1

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

我是这样写的代码

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

任务2

使用try ... except 子句。打印里面的错误信息除了 块。

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

我的输入将是PythonIsAmazing

【问题讨论】:

  • 如果程序没有失败,为什么要打印错误消息?
  • 这是分配给我的任务,用于练习错误处理
  • 您的程序失败,因为您正在引发异常...

标签: python python-3.x string valueerror try-except


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    相关资源
    最近更新 更多