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

标签 php exception 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 时 我正进入(状态 异常(exception) 发生内部服务器错误。

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

我想要的是替换发生内部服务器错误。debug=false

时,包天数不能小于 1

我在这里缺少什么?

谢谢。

最佳答案

您应该简单地抛出一个UserException:

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

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

关于php - yii2:抛出新异常的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28746429/

相关文章:

yii2 - 如何通过模式添加具有默认值的新列

activerecord - Yii2:如何在 ActiveRecord 中设置默认属性值?

php - 通过 htaccess 重定向/index.php?country=a 到/a/

php - 使用 php 不显示谷歌地图

c++ - 编写死亡测试以验证 std::set_terminate 行为

java - 是否使用 if-else 替代 try-catch 异常处理机制

yii - 从 ActiveQuery->init() 覆盖条件

php - 如何通过保留某些数据来删除表中的记录?

javascript - Symfony 3 - CSRF token 仅在使用 AJAX 提交时无效

python - 使用 sorl-thumbnail 进行可疑操作