이 글은 Yii가 예외를 잡을 수 없는 문제에 대한 해결책을 주로 소개합니다. 이제는 모든 사람과 공유합니다.
많은 학생들이 yii2가 예외를 잡을 수 없다고 말했습니다. 대부분의 문제는 catch에 대한 잘못된 이해로 인해 발생합니다. 예를 들어 문제는
//a文件: function a() { throw new \yii\web\HttpException('我是数据库异常'); } //b文件: use yii\db\Exception; try{ a(); } catch(Exception $e) { echo "捕获到异常了"; }
그러나 catch
이므로 caught 예외
가 출력되지 않습니다. 의 예외
는 실제로 yiidbException
에서 발생한 예외를 포착하는 것을 의미하며 HttpException에서 발생한 예외를 포착할 수는 없습니다. 捕获到异常了
,因为catch
的Exception
实际指的是捕获yiidbException
抛出的异常,不能捕获HttpException抛出的异常。
yii
中所有异常都是继承于Exception
yii
의 모든 예외는 Exception
에서 상속되므로 두 가지 다시 작성 방법이 있습니다. 방법 1:
catch(\yii\web\HttpException $e)
catch(\Exception $e)
위 내용은 Yii는 예외 해결 방법을 포착할 수 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!