yii2: Proper way to throw new exception

萝らか妹 提交于 2019-12-22 12:23:45

问题


Just for testing I have added this code in my model while setting the debug = true and false.

if($packagedays < 1)
     {
      throw new \yii\base\Exception( "package days cannot be less than 1" );
     }

Now when Yii debug is true: I am getting

Exception – yii\base\Exception package days cannot be less than 1

But when I am setting the debug to false I am getting Exception An internal server error occurred.

The above error occurred while the Web server was processing your request.

What I want is to replace the An internal server error occurred. with package days cannot be less than 1 when debug=false

What I am missing here?

Thanks.


回答1:


You should simply throw a UserException :

UserException is the base class for exceptions that are meant to be shown to end users.

Read more : http://www.yiiframework.com/doc-2.0/yii-base-userexception.html



来源:https://stackoverflow.com/questions/28746429/yii2-proper-way-to-throw-new-exception

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!