PHP异常、错误处理机制笔记

本文介绍PHP的异常,错误以及如何屏蔽错误。
参考:
php异常、错误处理机制、PHP错误提示的关闭方法详解


首先要明白异常跟错误是不一样的,异常是出现正常逻辑之外的情况,而错误是指运行时出错了,比如,使用了一个未定义的变量等,异常需要抛出(throw)才能被捕捉到,而错误会导致程序执行终止

异常

使用try{}catch{}捕获异常

getCode()."
"; echo $e->getMessage()."
"; echo '错误在'.$e->getFile().'行'.$e->getLine()."列
"; var_dump( $e->getTrace() ); echo "
".$e->getTraceAsString(); echo "
".$e->__toString()."
";//echo "
".$e; } ?>

可以直接使用set_exception_handler函数捕获throw抛出的异常

getMessage();
}
?>

错误

用户自定义的错误处理

';  
    } 
}
?>

使用函数捕获系统不提示的错误
前几个都不知如何使用,如果使用这个可以在变量未定义就调用时提示错误

这里正常运行";
?>

屏蔽php错误

错误的种类

  • 注意(Notices)这些都是比较小而且不严重的错误,比如去访问一个未被定义的变量。通常,这类的错误是不提示给用户的,但有时这些错误会影响到运行的结果。
  • ** 警告(Warnings)**这就是稍微严重一些的错误了,比如想要包含include()一个本身不存在的文件。这样的错误信息会提示给用户,但不会导致程序终止运行。
  • 致命错误(Fatal errors)这些就是严重的错误,比如你想要初始化一个根本不存在的类的对象,或调用一个不存在的函数,这些错误会导致程序停止运行,PHP也会把这些错误展现给用户。

屏蔽错误的方法

方法一:在有可能出错的函数前加@,然后or die("")
如: @mysql_connect(...) or die("Database Connect Error")
再例如:


方法二:编辑php.ini ,查找"display_errors =" ,将“=”后面的值改为"off。
可以百度有详解,在测试过程中最好不要修改
方法三:在php脚本前加error_reporting(0),屏蔽所有错误提示。其中,error_reporting 配置错误信息回报的等级。


总结,异常和错误处理现在还不会应用。
屏蔽错误十分有用且第一种方法最常用。
持续学习中,不定期更新

你可能感兴趣的:(PHP异常、错误处理机制笔记)