Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> throw new Exception, czy potrzebne jest tutaj try catch?
Aztech
post
Post #1





Grupa: Zarejestrowani
Postów: 276
Pomógł: 3
Dołączył: 22.10.2003
Skąd: Wrocław

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


Jeszcze jedno pytanko, tym razem dotydczące wyłapywania błędów. Chodzi mi konkretnie o funkcję setName() oraz validateName() w poniższym przykładzie. Czy podczas wywołania validateName() powinienem ująć wywołanie tej metody w blok try catch, czy jest to niekonieczne, błąd z validateName (jeśli $value będzie niepoprawne) zostanie wyświetlony przechwycony?

  1. <?php
  2.  
  3.  
  4.  
  5. class UserException extends Exception {};
  6. class IllegalDataException extends Exception {};
  7.  
  8. class TUser {
  9. /*
  10. pola prywatne
  11. ...
  12. metody
  13. */
  14.  
  15. public function validateName($name) {
  16. // validate if name is correct, name have 2 words
  17. // with space beetween of them
  18. // begins with uppercase
  19. if (!ereg("^[A-z](a-zA-Z/-)*( A-Za-z/-)*",$name))
  20. throw new IllegalDataException("Incorect name: $name.");
  21. }
  22.  
  23. public function setName($value="") {
  24. if (empty($value))
  25. throw new IllegalDataException("Name not set.");
  26. elseif ($this->validateName($value))
  27. $this->name = $value;
  28. }
  29.  
  30. }
  31.  
  32.  
  33. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 25.08.2025 - 11:29