yii2:抛出新异常的正确方法

时间:2015-02-26 15:30:16

标签: php exception-handling yii2

仅用于测试我在设置debug = true和false时在模型中添加了此代码。

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

现在,当Yii debug为true时:我正在

异常 - yii \ base \ Exception 包裹天数不能低于1

但是当我将调试设置为false时 我正进入(状态 例外 An internal server error occurred.

Web服务器处理您的请求时出现上述错误。

我想要的是替换An internal server error occurred.package days cannot be less than 1时的debug=false

我在这里缺少什么?

感谢。

1 个答案:

答案 0 :(得分:7)

你应该简单地抛出一个UserException

  

UserException是要向最终用户显示的异常的基类。

了解详情:http://www.yiiframework.com/doc-2.0/yii-base-userexception.html