Всё, спасибо так, сработало.
<?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?
Зачем нужен всё-таки ЗРОУ, если его же задачу может выполнить КЭТЧ?