if (!file_exists($filename)) { throw new Exception('文件不存在'); }
类似例子中,需要先判断$filename是否存在,不存在就抛出异常,这样还有什么意义?既然我自己都判断了,那还需要抛出什么异常?完全可以 echo '文件不存在';,这样就行了,也不会中断指令流的执行。
以前学的java都可以直接try{}catch(){}把有可能出错的代码放在try中,出错了就自动抛出了,完全不用手动抛出异常
왜 PHP는 예외를 수동으로 발생시켜야 하나요? -PHP 중국어 웹사이트 Q&A-PHP에서 수동으로 예외를 발생시켜야 하는 이유는 무엇인가요? -PHP 중국어 홈페이지 Q&A
꼭 보고 배워보세요.
因为php的异常处理弱爆了,在php里,遇到任何自身错误都会触发一个错误,而不是抛出异常,如果想使用异常处理不可预测的问题,是办不到的,也就是说,php通常是无法自动扑获有意义的异常的,他把所有不正常的情况都视为错误,你想扑获异常就得使用if...else...结构
왜 PHP는 예외를 수동으로 발생시켜야 하나요? -PHP 중국어 웹사이트 Q&A-PHP에서 수동으로 예외를 발생시켜야 하는 이유는 무엇인가요? -PHP 중국어 홈페이지 Q&A
꼭 보고 배워보세요.
因为php的异常处理弱爆了,在php里,遇到任何自身错误都会触发一个错误,而不是抛出异常,如果想使用异常处理不可预测的问题,是办不到的,也就是说,php通常是无法自动扑获有意义的异常的,他把所有不正常的情况都视为错误,你想扑获异常就得使用if...else...结构