Zachycení výjimky – PDOException #1044
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- James
- Člen | 54
Ahoj,
pomocí
<?php
$connection = new Nette\Database\Connection($dsn, $user, $pass);
?>
vytvářím připojení k předem neznámé databází, takže přihlašovací údaje zadává uživatel a při pokusu o připojení k databázi se špatnými údaji nastane chyba PDOException #1044. Já bych potřeboval nějak zachytit tuhle výjimku a poté na ní reagovat. Akorát nevím jak správně výjimku zachytit.
Zkoušel jsem zkušebně použít
<?php
try {
$connection = new Nette\Database\Connection($dsn, $user, $pass);
} catch (PDOException $e)
var_dump($e->getCode());
}
?>
ale výjimku mi to nezachytilo. Nevíte si s tímto problémem někdo rady. Díky
- jiri.pudil
- Nette Blogger | 1032
Takhle je to správně. Chybí ti složená závorka otevírající catch blok, ale to je asi jen chyba v přepisu, že?
Problém může být ve jmenných prostorech. Jestli je tvůj kód
v nějakém namespacu, musíš buďto výjimku naimportovat
(use PDOException;
), anebo v catchi uvést fully qualified name
(\PDOException
).