PHP 异常处理

什么时候要考虑使用异常机制

错误码 和 异常 是所有开发语言中返回执行结果的方法,在编写代码的时候就市场需要考虑什么时候使用异常处理,什么时候考虑返回错误码。

  • 错误码
    1)错误码比较直接,使用代码编号来表示执行结果,性能较高。
    2)通常在简单的错误表达里面可以考虑使用。譬如返回false表示处理失败,其他数据则代表正确的处理结果。
    3)有多种处理结果时通常考虑返回数组的形式:[‘code’=>’001’,’msg’=>’处理失败!’],也可以提供 getErrorInfo()函数,处理完成后,通过该函数来获取出错信息。这样可以弥补错误码返回信息不够详细的缺点,但是依然存在调用方不一定处理返回信息,错误代码添加后也不一定能通知调用方处理错误信息等问题。

  • 异常处理
    1)性能稍低,因为程序处理需要出入栈。
    2)调用方不会错过新加的错误信息,返回的错误信息比较详细。通常执行成功则返回正确结果,执行失败则返回异常信息。

    综上所述:
    使用哪种方式来反馈错误,也要看场景。个人觉得,操作频率高的代码模块尽量少使用异常处理,但是要确保返回信息的简洁。而一些失败因素无法穷举的场景,如果不会出现性能问题,则考虑使用异常。

PHP异常处理代码

  • 抛出异常
throw new Exception("error balabalabala...");
  • 捕捉异常
try
 {
 //If the exception is thrown, this text will not be shown
 }
 catch(Exception $e)
 {
 echo 'Message: ' .$e->getMessage();
 }
  • 设置顶层异常处理器 (Top Level Exception Handler)
    可以设置顶层异常处理类来处理所有异常。
set_exception_handler('myException');

你可能感兴趣的:(PHP)