php 异常处理 如何捕获异常??必须要抛出才可以吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 异常处理 如何捕获异常??必须要抛出才可以吗?相关的知识,希望对你有一定的参考价值。
举个例子 打开php的报错提示 实例化一个未定义的类 $per = new Person(); 这样会报出错误提示: Fatal error: Class 'Person' not found in D:\SPACE_PHP\uctest\exception.php on line 15 然后关闭display_errors 让页面不提示错误,增加异常处理代码 try throw new Exception("Person 未定义"); $per = new Person(); catch(Exception $e) echo 'Message: ' .$e->getMessage(); 这时页面可以正常捕获异常,可是如果把throw new Exception("Person 未定义"); 这句话注释掉就不会捕获了,如果不注释它,当我定义了person这个类的时候同样会抛出异常,也就是说我必须要先判断类是否定义才能确定是否应该抛出这个异常,这样的异常处理还有什么意思吗?我还不如打开display_errors 让它自动报错,我记得我在做JAVA的时候,可以捕获各种异常,完全实现错误自己定义。对PHP的异常处理十分郁闷,难道一定要自己先判断是不是要抛出异常,才能捕获吗??可不可以不用判断就能CATCH出 类person未定义这个错误???请教
参考技术A 难道php里面就非得用throw才能捕获异常吗==============
是的.异常捕获不是用来处理语法错误,不是用来处理fatal
error,更不是用来处理die()的。它只能用来处理throw出来的异常。
以上是关于php 异常处理 如何捕获异常??必须要抛出才可以吗?的主要内容,如果未能解决你的问题,请参考以下文章