Originariamente inviato da knottyboy
Se usi le eccezzioni DEVI usare il try catch.
permettimi di non essere d'accordo con questa affermazione forse incompleta ma in questo modo inesatta.
Le eccezioni le puoi usare quando vuoi, è il throw che non puoi usare se non per terminare un try e passare al catch.
Esempio
codice:
<?php
function myException($errno, $errstr, $errfile, $errline) {
echo $errstr;
}
set_error_handler('myException');
$e = new Exception('something wrong');
trigger_error($e->getMessage());
?>
come vedi ho usato le eccezioni , in modo sicuramente poco utile ma le ho comunque usate senza avere erorri fatali 
Originariamente inviato da Prazision
evitare di metterla in un try&catch ed ottenere
cmq il messaggio dell'eccezione(in questo caso "blob!")
dipende cosa intendi per ottenere il messaggio di errore.
Se la tua intenzione è quella di fermare l'applicativo allora puoi usare exit("blob!"); senza dover usare il throw, poichè lo scopo dello stesso è quello di "killare" un try e non di creare errori.
Per generare errori tuoi puoi sfruttare trigger_error e gestirli come meglio credi nella funzione impostata nel set_error_handler ... come mostrato nell' esempio sopra (dove uso la classe Exception ma potresti inviare direttamente il tipo di errore).
Concludo dicendo che probabilmente nel tuo libro le cose stanno cosi':
codice:
// la classe ed il suo metodo
public function setName($name) {
if(!is_string($name) || strlen($name) == 0) {
throw new Exception("blob!");
}
}
// il resto della classe ...
$objDemo = new Demo();
try {
$objDemo->setName(37); // all' interno c'e' un throw
}
catch(Exception $e) {
echo $e->getMessage();
}
Oppure potrebbe essere una svista o un errore di stampa.
Non so se ti ho risolto il problema, spero almeno di averti chiarito un po' il discorso errori ed eccezioni.
Aggiungo un agglomerato intule che include di tutto, se hai capito gli esempi sopra puoi sbizzarrirti con questo 
codice:
function myException($errno, $errstr, $errfile, $errline) {
echo $errstr;
}
set_error_handler('myException');
try{
throw new Exception('something wrong');
}
catch(Exception $e){
trigger_error($e->getMessage());
}