问题
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