python - 为什么在引发错误时继续不起作用

标签 python

我想弄清楚为什么在出现错误时 continue 不起作用:

while True:
        a = int(raw_input('Type integer with 9 numbers '))
        if len(str(a)) < 9 or len(str(a)) >9:
                raise NameError('Wrong Number. Try again...')
                continue
        if not istance(a, int):
                raise ValueError("Oops!  That was no valid number.  Try again...")
                continue
        else:
                print a
                break

你能指出我的错误吗?

最佳答案

尝试 print '错误号码。再试一次...' 而不是 raise

raise 将触发一个异常,这基本上意味着您的程序在到达指令时被中断,异常会向上传播到调用堆栈,直到它被 try.. .except 语句。

您在这里似乎实现的是显示错误消息给用户,因为输入不正确。为此,只需使用 print 语句即可。

关于python - 为什么在引发错误时继续不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39432543/

相关文章:

python - 将诺伊曼边界条件应用于扩散方程

python - 使用for循环到 "read_pickle"和 "to_pickle"很多数据文件

python - django cms - 在此服务器上找不到请求的 URL/en/- postgresql、nginx、gunicorn

python - 如何使用pygame图形库中的多边形制作菱形

python - 使用 Telegram Bot 按计划发送消息

python - 如何从累积增益计算夏普比率?

python - 具有 textacy 或 spacy 的多处理

python - Django,Mezzanine : Autodiscover error, 引用不存在的模型

python - 如何在 python 中编写没有任何定界符的文本文件?

python - 如何在 SQLAlchemy + Postgres 中将具有空数组的数组列设置为默认值