1

さまざまな理由でエラーをスローするコードが少しあります。そして、私はそれについてもっと情報を得たいと思っています。問題は、まったく何もなくてアプリが壊れるか、try catch を使用して xdebug_message からユーザーに実際に表示できないものを大量に取得することです。

オブジェクトのコレクションを作成し、いくつかの引数が満たされていることを確認する必要があるとしましょう (この場合、エンティティに nullable=false があります)。これらの2つのポイントのいずれかを見逃した場合、次のコードで得られるものは次のとおりです。

// 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 に答える