LEN

PHP异常处理中的黑科技
PHP异常处理中的黑科技  前面提到框架中是可以捕获所有的错误和异常的,之所以能实现应该是使用了黑科技,哈哈!其实...
扫描右侧二维码阅读全文
15
2019/02

PHP异常处理中的黑科技

PHP异常处理中的黑科技

  前面提到框架中是可以捕获所有的错误和异常的,之所以能实现应该是使用了黑科技,哈哈!其实也不是什么黑科技,主要是三个重要的函数:

  1. set_error_handler()
  看到这个名字估计就知道什么意思了,这个函数用于捕获错误,设置一个用户自定义的错误处理函数。

  当程序出现错误的时候自动调用此方法,不过需要注意一下两点:
第一,如果存在该方法,相应的error_reporting()就不能在使用了。所有的错误都会交给自定义的函数处理。
第二,此方法不能处理以下级别的错误:E_ERROR、 E_PARSE、 E_CORE_ERROR、 E_CORE_WARNING、 E_COMPILE_ERROR、 E_COMPILE_WARNING,set_error_handler() 函数所在文件中产生的E_STRICT,该函数只能捕获系统产生的一些Warning、Notice级别的错误。
  并且他有多种调用的方法:

  2. register_shutdown_function()
捕获PHP的错误:Fatal ErrorParse Error等,这个方法是PHP脚本执行结束前最后一个调用的函数,比如脚本错误、die()、exit、异常、正常结束都会调用,多么牛逼的一个函数啊!
通过这个函数就可以在脚本结束前判断这次执行是否有错误产生,这时就要借助于一个函数:error_get_last()
这个函数可以拿到本次执行产生的所有错误。error_get_last();

返回的信息:

  [type] - 错误类型
  [message] - 错误消息
  [file] - 发生错误所在的文件
  [line] - 发生错误所在的行

  3:set_exception_handler()
设置默认的异常处理程序,用在没有用try/catch块来捕获的异常,也就是说不管你抛出的异常有没有人捕获,如果没有人捕获就会进入到该方法中,并且在回调函数调用后异常会中止。

Last modification:February 22nd, 2019 at 09:36 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment