Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的php set_error_处理程序等效函数_Php_Python_Error Handling_Python 3.x - Fatal编程技术网

python中的php set_error_处理程序等效函数

python中的php set_error_处理程序等效函数,php,python,error-handling,python-3.x,Php,Python,Error Handling,Python 3.x,Python3中是否有一个函数与PHP的函数等价?在python脚本中使用这个等价物是个好主意还是有更好的解决方案 我喜欢set_error_handler的地方在于,我可以为它分配一个函数,例如在出现问题时记录日志和/或给我发电子邮件。然后,我可以在代码中使用trigger\u error,error\u handler函数将向我报告发生了什么以及发生了什么。有没有办法在python中替换它?AFAIK python主要使用异常来处理错误,因此您应该尝试捕获它们,而不是使用像set\u err

Python3中是否有一个函数与PHP的函数等价?在python脚本中使用这个等价物是个好主意还是有更好的解决方案


我喜欢set_error_handler的地方在于,我可以为它分配一个函数,例如在出现问题时记录日志和/或给我发电子邮件。然后,我可以在代码中使用trigger\u error,error\u handler函数将向我报告发生了什么以及发生了什么。有没有办法在python中替换它?

AFAIK python主要使用异常来处理错误,因此您应该尝试捕获它们,而不是使用像set\u error\u handler这样的构造。 这样做:

try:
    code that might fail...
except:
    handle errors...
有关用于处理警告的python库,请参阅,该库还链接到日志库中的


但是,大多数其他问题都作为异常抛出,您可以根据自己的需要尝试捕获。

使用Python异常处理机制(
try/except
)。它更加灵活和细粒度;您可以捕获仅由一行代码引起的错误(例如,由于找不到文件而导致的
IOError
),或者捕获整个程序中的错误(例如
set\u error\u handler
does)

对于CGI使用,您还可以使用
cgib
模块,该模块将打印非常详细的错误消息以供调试使用:

import cgitb
cgitb.enable()
输入cgib() cgib.enable()
对于CGI使用,您还可以使用cgitb模块,该模块将打印非常详细的错误消息以供调试使用:

我想您正在搜索。它也被
cgib
模块使用

import cgitb
cgitb.enable()

或者你们可以试试我写的图书馆。它还不支持电子邮件,但您可以自由地在您的提案中提出问题或发送请求:)

是的。我同意例外是更好的方法。我对这个问题进行了更精确的编辑。您现在可以帮我吗?您只需将try/except块移动到代码中的最高级别,然后当出现错误时,代码except将始终在出现异常时运行,并且您在except中的代码可以通过电子邮件或其他方式发送给您。要触发此代码,可以使用try块中运行的throw子函数故意抛出异常。我想我可以使用日志系统并配置我的日志记录器来发送电子邮件并将日志记录到文件中。然后我可以捕捉异常,无论它们在哪里。你觉得这种方法怎么样?是的。我同意例外是更好的方法。我对这个问题进行了更精确的编辑。你现在能帮我吗?是的。我同意例外是更好的方法。我对这个问题进行了更精确的编辑。你现在能帮我吗?