ホームページ >バックエンド開発 >PHPチュートリアル >Yii は例外解決策をキャッチできません

Yii は例外解決策をキャッチできません

不言
不言オリジナル
2018-07-10 15:10:372574ブラウズ

この記事では主に Yii がキャッチできない例外の解決策を紹介します。これには特定の参考値があります。今私はそれをあなたに共有します。困っている友達は参考にしてください。

多くの学生は yii2 がキャッチできないと言っています例外は、ほとんどの問題を読んだ後ですが、catch の誤った理解によって引き起こされます。たとえば、次の問題:

//a文件: 
function a() {
  throw new \yii\web\HttpException('我是数据库异常');
}

//b文件:
use yii\db\Exception;

try{
  a();
}
catch(Exception $e)
{
  echo "捕获到异常了";
}

しかし、出力はありません例外はキャッチされますなぜなら、catch Exception は、実際には yii\db\Exception によってスローされた例外をキャッチすることを指しており、HttpException によってスローされた例外をキャッチすることはできません。

yii の例外はすべて Exception から継承されるため、書き換え方法は 2 つあります。

方法 1:

catch(\yii\web\HttpException $e)

方法 2:

catch(\Exception $e)

以上がこの記事の全内容です。皆様の学習にお役に立てれば幸いです。その他の関連コンテンツはこちら、PHP中国語ネットに注目してください!

関連する推奨事項:

yii2-wx で try_catch を使用する方法

以上がYii は例外解決策をキャッチできませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。