1

我有一些代码有时会由于不同的原因引发错误。我想获得更多关于它的信息。问题是要么我什么都没有,我的应用程序中断,要么我使用 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 不知道。

谢谢

4

1 回答 1

1

有一些功能给你很好的味精。喜欢$e->getMessage() $e->getCode()

于 2015-05-15T10:31:46.337 回答