Показать сообщение отдельно
  #3 (permalink)  
Старый 26.07.2011, 00:24
Аспирант
Отправить личное сообщение для romantik2011 Посмотреть профиль Найти все сообщения от romantik2011
 
Регистрация: 20.07.2011
Сообщений: 50

Всё, спасибо так, сработало.
<?php 

class nameExc extends Exception{
	function __construct($msg){
	$msg .=" name!";
	parent::__construct($msg);
	}
}

class loginExc extends Exception{
	function __construct($msg){
	$msg .=" login!";
	parent::__construct($msg);
	}
}

class passExc extends Exception{
	function __construct($msg){
	$msg .=" password!";
	parent::__construct($msg);
	}
}

class A{

	function __construct($n,$l,$p){
	 try{
	 if($n=="")
	 throw  new nameExc("Введите");
     if($l=="")
	 throw  new loginExc("Введите");
     if($p=="")
	 throw  new passExc("Введите");

	}catch(nameExc $e){
	echo $e->getMessage();
	}
	catch(loginExc $e){
	echo $e->getMessage();
	}
	catch(passExc $e){
	echo $e->getMessage();
	}
}

}

$obj = new A("","clown","111");

?>


Меня интересует один вопрос.
Зачем нужно писать throw, если зроу выдаёт исключения ,а потом всё равно идёт переход от него в catch
и КЭТЧ выбрасывает ещё исключение, зачем это нужно? Почему не достаточно одно блока try...catch?
Зачем нужен всё-таки ЗРОУ, если его же задачу может выполнить КЭТЧ?
Ответить с цитированием