Cet article présente principalement la solution au problème selon lequel Yii ne peut pas détecter l'exception. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
De nombreux étudiants ont dit que yii2. ne peut pas l'attraper. Exception, après avoir lu la plupart des questions, elles sont causées par une mauvaise compréhension de catch. Par exemple, la question :
//a文件: function a() { throw new \yii\web\HttpException('我是数据库异常'); } //b文件: use yii\db\Exception; try{ a(); } catch(Exception $e) { echo "捕获到异常了"; }
Cependant, 捕获到异常了
n'est pas affiché car catch
. de Exception
fait en fait référence à Il s'agit d'intercepter les exceptions levées par yiidbException
, mais ne peut pas intercepter les exceptions lancées par HttpException. Toutes les exceptions dans
yii
sont héritées de Exception
, il existe donc deux méthodes de réécriture.
Méthode 1 :
catch(\yii\web\HttpException $e)
Méthode 2 :
catch(\Exception $e)
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Plus de contenu connexe Veuillez faire attention au site Web PHP chinois !
Recommandations associées :
Comment utiliser try_catch dans yii2-wx
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!