![]() |
1
2
最好的做法是设置一个显示完整堆栈跟踪的错误处理程序。 设置一个自定义错误处理程序,并在其中调用debug_print_backtrace()。一般情况下,在这种特定情况下,您会发现这一点很有用。 |
![]() |
2
0
有两种选择,两种都不是特别好吃的:
简短回答:太难了,不要尝试。- - |
![]() |
3
0
我通常也会在那里设置一个触发器。这样可以确保我确切地知道调用它的位置以及实际错误发生的位置。然后,我在制作过程中会通过电子邮件将所有错误发送给自己。我知道这不是自动的,但至少你能追踪到发生了什么。 |
![]() |
4
0
好吧,对于那些对我的最终解决方案感兴趣的人,我在我们的框架中集成了下面的代码,在我们可以测试的所有情况下,它都返回正确的行号。我们正在生产中使用它。
它捕获未捕获的PHP异常、PHP错误和
|
![]() |
5
0
我想我会把我的两分钱投入到这个花盆中,讨论一下我通常使用什么,无论是按原样使用还是使用小的定制,用于我构建的PHP库,而其他开发人员经常使用这些库。 我将程序执行过程中可能出现的错误细分为两类:那些是错误编程的结果,以及那些由于用户错误或一些外部因素而发生的错误。对于前者,我将trigger_error与e_user_error结合使用,后者是一个异常,特别是一个包异常,然后由库中的所有其他异常继承。 开发错误的一个例子是在一个期望是字符串(V7之前)的参数中传递一个整数,或者访问一个不存在的类的方法或属性。(您可以在这里使用自己的开发人员想象力。)显然,另一个开发人员不会在意错误是在“get”或“set”语句或其他一些神奇构造的内部深处生成的,而是希望知道错误的具体位置。让我们面对现实吧……开发人员不想涉过回溯。 因此,我用来定位错误消息的方法很简单:
我传入的回溯级别取决于所使用的构造,通常是1或2,其余的都是不言而喻的。 为了防止“i n file on line n”的重复序列,我添加了这个错误处理程序:
同样,我喜欢保持简单。可以说,错误消息的本地化应该发生在处理程序中,但是之后,您必须能够传递深度,这在处理程序中又增加了两个层次,并且,在这之后会变得混乱。 快乐小径! |
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |