【发布时间】:2021-04-04 07:37:55
【问题描述】:
我想创建一个不打印堆栈跟踪的 Python 异常(用于简单的用户错误)。我在下面创建了一个包装自定义类的函数,但我更愿意直接将它烘焙到自定义异常类中,这有可能吗?
class UserError(Exception):
pass
def throw_user_error(s_msg):
sys.tracebacklimit = 0
raise UserError(s_msg)
sys.tracebacklimit = 1000
【问题讨论】:
-
这听起来像是一个应该由你自己的错误处理和报告代码来处理的工作,而不是由异常类来处理。
-
尝试添加打印然后 sys.exit()
-
@Yash 但我不想退出。例如,如果用户在 repl 中工作,则应该显示一个简单的错误而不会留下很长的痕迹,之后用户应该能够继续工作(使用异常中的提示)
标签: python exception error-handling