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?
<?php
class UserException extends Exception {};
class IllegalDataException extends Exception {};
class TUser {
/*
pola prywatne
...
metody
*/
public function validateName($name) {
// validate if name is correct, name have 2 words
// with space beetween of them
// begins with uppercase
if (!ereg("^[A-z](a-zA-Z/-)*( A-Za-z/-)*",$name)) throw new IllegalDataException("Incorect name: $name.");
}
public function setName($value="") {
throw new IllegalDataException("Name not set.");
elseif ($this->validateName($value))
$this->name = $value;
}
}
?>