Мне интересно, это хорошая практика - генерировать исключения без оператора try / catch. Например
/// Класс Driver
class Driver{
public function setAge($age)
if(is_string($age)){
throw new StringException('Age can not be string')
}
if($age>100){
throw new TooLargeNumberException('Age is too large')
}
}
/// контроллер
$d= new Driver()
$d->setAge(101) /// return TooLargeNumberException
Или
try{
$d= new Driver()
$d->setAge(101)
}
catch(StringException $e){
return $e->getMessage()
}
catch(TooLargeNumberException $e){
return $e->getMessage()
}
Пожалуйста, посоветуйте мне, как обращаться с исключениями. Какое решение является правильным? Обязательно ли всегда использовать оператор try / catch?