python 3中是否有一个与PHP set_error_handler函数等效的函数?在python脚本中使用这个等价物是否是个好主意还是有更好的解决方案?
我喜欢set_error_handler,我可以为它分配一个功能,例如在出现问题时记录和/或发送电子邮件给我。然后我可以在我的代码中使用trigger_error,error_handler函数会向我报告发生了什么以及发生了什么。任何想法如何在python中替换它?
答案 0 :(得分:1)
我认为您正在搜索sys.excepthook。它也被cgitb
模块使用。
或许您可以尝试我写的库diagnostics。它不支持电子邮件,但可以随意打开您的提案或发送拉取请求的问题:)
答案 1 :(得分:0)
AFAIK Python主要使用异常来处理错误,因此您应该尝试捕获它们而不是使用像set_error_handler这样的构造。 做这样的事情:
try:
code that might fail...
except:
handle errors...
答案 2 :(得分:0)
有关用于处理警告的python库,请参阅warnings,警告也链接到日志记录库中的captureWarnings。
然而,大多数其他问题都被视为异常,您可以根据需要尝试捕获。
答案 3 :(得分:0)
使用Python异常处理机制(try/except
)代替。它更灵活,更细腻;您可以捕获仅由一行代码引起的错误(例如IOError
,因为找不到文件),或整个程序中的错误(如set_error_handler
)。
对于CGI使用,您还可以使用cgitb
模块,该模块将打印出非常详细的错误消息以供调试使用:
import cgitb
cgitb.enable()
答案 4 :(得分:0)
import cgitb() cgitb.enable() 对于CGI使用,您还可以使用cgitb模块,它将打印出非常详细的错误消息以供调试使用: