0

Symfony2 コントローラーで例外の問題が発生しています... をキャッチしようとしてNotFoundHttpExceptionいますが、catch ブロックが発生していません... 代わりに、スタック トレースを使用して標準の Symfony2 例外ページに移動します開発環境で...

次のコードがあります。

<?php

namespace SeerUK\DWright\GalleryBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;

use SeerUK\DWright\GalleryBundle\Entity\Gallery;


class GalleryController extends Controller
{
    public function indexAction($galleryId)
    {
        try
        {
            $gallery = $this->getDoctrine()
                ->getRepository('SeerUKDWrightGalleryBundle:Gallery')
                ->find($galleryId);

            throw $this->createNotFoundException('rawr'); // Just for the sake of testing...

            if (!$gallery) {
                throw $this->createNotFoundException(
                    'No gallery found for id ' . $galleryId
                );
            }

            $galleryId          = $gallery->getId();
            $galleryName        = $gallery->getName();
            $galleryDesc        = $gallery->getDesc();
            $galleryPublishedOn = $gallery->getPublishedOn();

            return $this->render('SeerUKDWrightGalleryBundle:Gallery:index.html.twig', array(
                'galleryId'          => $galleryId,
                'galleryName'        => $galleryName,
                'galleryDesc'        => $galleryDesc,
                'galleryPublishedOn' => $galleryPublishedOn->format('Y-m-d H:i:s'),
            ));
        }
        catch (Symfony\Component\HttpKernel\Exception\NotFoundHttpException $e)
        {
            echo $e->message;
        }
    }
}
4

1 に答える 1

1

catch (\Symfony\Component\HttpKernel\Exception\NotFoundHttpException $e)この NotFoundHttpExceptionを試す か、単に使用する必要があります...

おそらくそれはあなたのケースでキャッチSeerUK\DWright\GalleryBundle\Controller\Symfony\Component\HttpKernel\Exception\NotFoundHttpExceptionしたい:)

于 2013-03-12T20:57:44.530 に答える