mam kod jak poniżejSpróbuj catch nie łapie wyjątku?
try {
$user = $query->getSingleResult();
} catch (Doctrine\ORM\NoResultException $e) {
return null;
} catch (Exception $e) {
return null;
}
getSingleResult()
rzuci NoResultException
jeśli nie zostaną znalezione żadne wiersze. i wygląda na to, że wciąż mam wyjątek ... haczyk nie działa. dlaczego?
Jest to najprawdopodobniej dlatego, że użytkownik używa Doctrine 2, który _jest_ nazwanypacem. – lotsoffreetime
Używanie Doctrine 2 nie wymusza jednak na przestrzeni nazw własnego kodu. W przypadku, gdy nie określiłeś przestrzeni nazw dla twojego kodu, przestrzeń nazw jest zawsze uważana za root, w takim przypadku nie będziesz potrzebował początkowego \ –
Możesz równie dobrze zrobić haczyk 'NoResultException' i dodaj 'use Doctrine \ ORM \ NoResultException;' w nagłówku pliku. –