Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Dwa wyjątki czy konieczne?
Fred1485
post 6.04.2015, 16:50:48
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

Ostrzeżenie: (0%)
-----


Witam znów biggrin.gif

Postanowiłem jednak stworzyć tą nakładkę dla PDO, i mam taki problem:

  1. public function prepare($query = FALSE) {
  2.  
  3. $this->query = $query;
  4.  
  5. try {
  6.  
  7. if($this->connection == FALSE || $this->query == FALSE) { //sprawdzam czy jest połączenie oraz czy przekazano query
  8.  
  9. throw new Exception('blad', 1); //tutaj jakiś przykładowy błąd jeśli nie spełnione warunki
  10. }
  11. $this->stmt = $this->connection->prepare($this->query); //tu wiadomo chyba
  12. $this->stmt->execute(); //TUTAJ TYLKO CHWILOWO żeby sprawdzić
  13. }
  14. catch(PDOException $e) {
  15. $this->error(array('text' => $e->getMessage(), 'code' => $e->getCode())); //Przekazanie do funkcji (w niej następuje na razie proste echo)
  16.  
  17. }
  18. catch(Exception $e) {
  19. $this->error(array('text' => $e->getMessage(), 'code' => $e->getCode())); //jak wyżej
  20.  
  21. }
  22. }


Jak widać tutaj wyłapuję dwa wyjątki, pierwszy od PDO jeśli w execute coś by nie poszło z zapytaniem(dlatego dałem tymczasowo w tej funkcji), natomiast drugi własny jeśli jakieś tam warunki nie zostaną spełnione, i tutaj pytanie czy ja dobrze myślę teraz z tym przechwytywaniem dwóch wyjątków, jest to poprawne, czy jakoś inaczej to powinienem rozwiązać, zauważyłem też że jak PDOException zamienię na Exception to wyjątek od PDO też zostanie wychwycony(niby logiczne wiadomo) i praktycznie wszystko to mogę rozwiązać tylko

  1. catch(Exception $e) {
  2. $this->error(array('text' => $e->getMessage(), 'code' => $e->getCode())); //jak wyżej
  3.  


Czy mam jakoś kombinować i tworzyć n wyjątków na różne potrzeby czy inaczej powinienem to rozwiązać? sad.gif


--------------------
  1. echo 'I was trying';
  2. die ();
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 17:58