Witam,
Piszę aplikacje bazodanową w EJB/JPA i JSF. Na jedna z kolumn nalozylem unikalny indeks po to, aby kontrolowac unikalnosc wpisywanych lancuchow znakow.
Chce wyswietlac rozne wiadomosci o bledach w zaleznosci od tego czy zlamanie zostanie jeden constraint (np. unikalnosc) lub drugi (np. ciag znakow jest za maly lub za dlugi). Myslalem o obsluzeniu tego za pomoca wyjatkow. Samo rzucenie wyjatku nie stanowi problemu: wystarczy sobie potworzyc puste klasy i uzywac slowa throw (no i nie zapomniec poinformowac o ich istnieniu interfejsy).
Powiedzmy przypadek z dlugoscia jest prosty:
- Dorabiam dodatkowe if, jesli cos jest za krotkie to rzucam wyjatek za krotki, jesli cos za dlugie to analogiczny inny wyjatek.
Pytanie: jak sprawdzic czy unikalnosc zostala zlamana? W logach to widze, dostaje dokladny komunikat.
org.postgresql.util.PSQLException
Czy musze lapac PSQLException w momencie dodawania i rzucac wlasny wyjatek czy tez da sie to zrobic elegancko? Samo PSQLE nie mowi za duzo o rodzaju naruszenia i to mnie najbardziej boli: tak do konca nie wiadomo co sie stalo.
Pozdrawiam,