【发布时间】:2019-04-30 15:53:04
【问题描述】:
我正在尝试在我的脚本中构建一些异常处理,然后再将其发送给用户试用。为了实现这一点,我尝试运行 try-except 块来捕获我认为可能发生的错误。
例如,代码使用 API 与另一款软件进行交互。该软件依赖于安装在计算机中的硬件许可证(USB 加密狗),否则 Python 无法访问该软件,脚本以 Exit Code 255 退出。代码示例如下。
code-to-activate-licence
except Exception as e:
warn-user-of-error
我希望try-except 块获取退出代码并执行代码的except 部分。但是,我认为由于激活许可证的尝试似乎没有引发错误,而是给出了一个非零退出代码,它似乎没有被try-except 块捕获。有没有办法在它实际退出脚本之前捕获这个退出代码?
【问题讨论】:
-
您是直接与 API 交互还是要导入一些库来访问 API?
-
好像代码崩溃了。
-
根据exception hierarchy,也许可以尝试捕捉
SystemExit? -
@GiraffeMan91 我正在通过导入的库与它进行交互。根据您在下面的建议,我尝试指定
SystemExit而不是Exception但它以相同的方式结束(脚本以退出代码 255 退出)。 -
你能告诉我你正在使用的库和函数吗?
标签: python exception try-catch