如何在python中将SyntaxError返回给用户?[复制]

How do I return a SyntaxError to the user in python? [duplicate]

提问人:Koby K 提问时间:9/15/2023 最后编辑:OneCricketeerKoby K 更新时间:9/15/2023 访问量:24

问:

我正在处理一个需要我返回语法错误的项目,

我已经尝试了所有这些:、 和SyntaxError("error")return SyntaxError("error")new SyntaxError("error")

每次我试图归还其中一个时,它什么也做不了。我知道如何在 Javascript 中执行此操作,并且是 python 的新手。有没有办法让我返回语法错误?如果是这样,如何?

python 语法错误

评论

0赞 Karl Knechtel 9/15/2023
“我正在做一个需要我返回语法错误的项目,我已经尝试了所有这些:” - 你试过放入搜索引擎吗?请原谅我,如果这只是我愚蠢,但每次我试图归还其中之一时,它都会无所事事。前两个绝对做一些事情,你只是不能以你期望的特定方式观察效果。不过,Python 没有类似的东西。python return a syntax errornew
0赞 OneCricketeer 9/15/2023
@KarlKnechtel 最上面的帖子是这个,现在是:)
1赞 Karl Knechtel 9/15/2023
但是,除此之外,像这样使用通常没有意义。它的目的是让 Python 本身,指示代码中的问题,使其无法理解。只有当代码的目的是从用户那里获取更多 Python 代码并对其进行操作时,才应在代码中使用。SyntaxError
0赞 Karl Knechtel 9/15/2023
@OneCricketeer就这样吧。但是,人们至少应该查看一页结果的标题,看看似乎在调查什么,并尝试进行调查。

答:

0赞 OneCricketeer 9/15/2023 #1

return只返回函数的值。错误是 Python 中的常规对象;构造它们不会导致失败。如果你真的想“归还”一个;没错。

关键字是 Python 抛出错误、停止执行和“将控制权归还给父进程”的方式。与 NodeJS 类似。raisethrow new Error("error")

SyntaxError但是,应该特定于 Python 解释器。文档会建议你使用自己的解析器。raise ValueError('Invalid Syntax')