Как лучше всего обработать исключение в конструкции?
option1 - поймать исключение при создании объекта:
class Account {
function __construct($id){
if(empty($id)){
throw new My_Exception('id can\'t be empty');
}
// ...
}
}
class a1 {
function just($id){
try {
$account = new Account($id);
}
catch(Exception $e){
$e->getMessage();
}
}
class a2{
function just($id){
try {
$account = new Account($id);
}
catch(Exception $e){
$e->getMessage();
}
}
option2 : исключение перехвата внутри __construct
class Account{
function __construct($id){
try{
if(empty($id)){
throw new My_Exception('id can\'t be empty');
}
// ...
}
catch(My_Exception $e) {
}
}
Пожалуйста, напишите, в каких случаях следует использовать вариант 1, а в каких следует использовать вариант 2 или другое лучшее решение.
Спасибо