什么是最好的做法在以下情况下抛出异常:Zend框架如何处理异常
我的URL结构是: /篇/图/ ID/1
我的控制器: AticlesController
而这个控制器加载一个映射模型: Application_Model_Mapper_Articles
在这个模型我汇总各类数据。我在这个模型中检查了几个标准来决定抛出404错误还是显示文章。
如果我决定抛出错误。我应该怎么做?
我的第一个猜测是从模型中抛出它。但是没有默认的'Model_Exception'类,并且有一个'Zend_Controller_Action_Exception'。我应该从模型中抛出这个异常吗?还是应该将错误消息从模型传回控制器,然后抛出错误?
感谢您的帮助。那么我会从控制器中抛出错误。 我的文章模型相当复杂。我应该怎么做更简单的模型。内容被删除时只能引发错误的模型。那真的不值得创建一个特殊的异常类吗? 或者我应该在模型中创建一个isValid()类型的函数?并将其包含在所有尝试加载内容的控制器/操作中。看起来像很多额外的代码... – Erik
如果值得创建新的异常类取决于你:)但是,看看现有的Zend异常,SPL异常(http://www.php.net/manual/en /spl.exceptions.php),或者你可以抛出一个普通的异常。 至于验证它,通常你可能会在模型中抛出一个异常,但要确保在try-catch块内执行抛出异常的方法。 Java的排序更好,因为方法的结果可能是一个异常,必须用'throws My_Kind_Of_Exception'声明。 – usoban