在Python编译C++程序时,尝试捕获语法导致的OS错误

2024-09-29 19:21:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试创建一个Python函数,它将执行基于C++脚本的用户输入。函数替换C++文件中的某些行,然后在Python上执行。无论何时在C++文件中替换的行语法错误,都会出现无效语法的错误。在这种情况下,我希望函数返回-1,而不是代表用户崩溃或混淆错误的语法/输入

我试过:

  • 在python函数中运行try-catch语句

  • > P>在C++代码

    中运行Testcatch语句
  • 运行带有try-catch for编译错误的bash脚本

然而,这些选择都没有奏效。有人要吗

C++ segment as a stringPython function implementation


Tags: 文件函数代码用户脚本for错误语法
2条回答

您需要检查clang++对无效代码编译的返回值。如果无法通过返回值判断,则可能必须解析clang++的输出

要检查返回值,请在终端中(假定为bash): clang++有效\u文件.cpp

回声$

clang++无效的\u file.cpp

回声$

你试过使用subprocess.check\u output而不是check call吗

https://docs.python.org/2/library/subprocess.html#subprocess.check_output 如果clang++未能正确执行,这似乎会引发异常,这意味着生成错误

对不起,不能太多评论

相关问题 更多 >

    热门问题