![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 2 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
Mam problem ze zrzuceniem wyjątku. W modelu mam funkcję save, oto jej ciało:
Chcę zrzucić wyjątek, gdy podczas zapisywania wystąpi naruszenie unikalności jakiegoś pola w tabeli, np title. No i nie wiem gdzie wrzucić throw new Exception('wiadomosc'); Próbowałem sprawdzenie, czy $result->execute() zwróci coś innego niż true, ale nie działa. Wciąż przy wyłapywaniu wyjątku dostaję wiadomość, jakbym w ogóle throw new Exception nie umieśił w Modelu. Cytat SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'mmmmmmmmmmm' for key 'title' Kod w kontrolerze:
W widoku, wiadomo, wyświetlam komunikat wyjątku. edit: Teraz już nie wiem, czy w ogóle mogę własny komunikat wysłać, w manualu znalazłem, że nie powinno się jawnie zrzucać wyjątków klasy PDOException ![]() Ale nie wychodziło nawet z Exception. Ten post edytował Piotrbaz 23.03.2013, 09:13:41 -------------------- $piotrbaz->get_Signature();
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 55 Pomógł: 2 Dołączył: 15.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ok, doszedłem do tego, że miałem w połączeniu z bazą ustawione zrzucanie wyjątków klasy PDOException, a nie mogę ich jawnie zrzucać.
Po usunięciu
mogę normalnie zrzucać wyjątki Exception. Tylko nie bardzo rozumiem sens PDOException, skoro nie mogę wpisać tam własnego komunikatu. Ten post edytował Piotrbaz 24.03.2013, 14:05:08 -------------------- $piotrbaz->get_Signature();
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 05:41 |