我有一些代码有时会由于不同的原因引发错误。我想获得更多关于它的信息。问题是要么我什么都没有,我的应用程序中断,要么我使用 try catch 并从 xdebug_message 获得一大堆我无法真正向用户展示的东西。
假设我需要做一个对象集合并确保填充了一些参数(对于这种情况,我们在实体中有 nullable=false)。如果我错过了这两点之一,这是我通过以下代码得到的:
// We create the event
$event = new Entity\Event;
$event->setType( $this->input->post( 'type' ) );
$event->setDescription( $this->input->post( 'description' ) );
$event->setPlace( $place );
$event->setUser( $user );
// We can now persist this entity:
try
{
$em->persist( $event );
$em->flush();
}
catch( \Doctrine\DBAL\DBALException $e )
{
// Error When Persisting the Entity !!
// 500 Internal Server Error
// A generic error message, given when no more specific message is suitable
$this->response( array( 'error' => $e ), 500 );
}
$message = array(
"success" => TRUE
);
// Everything is fine
$this->response( $message, 200 ); // 200 being the HTTP response code
在这种情况下,它返回:
{“错误”:{“xdebug_message”:“
我想做的是从这个错误消息中,自动执行一些功能或向前端发送显式消息以进行任何可能的配置。我不能在这里真正使用 xdebug,它对这个目的不是很有帮助。
如何从 PHP 或 Doctrine 本身获得更明确的细节?
我正在使用 Doctrine2 和 Codeigniter 2.1 或 2 不知道。
谢谢