Allora vari punti:

1) su php.net c'è la reference anche in italiano dove viene indicato se e quali eccezioni vengono lanciate. mysql_query e file_put_contents non lanciano eccezioni come ti è stato detto.

Exceptions on query:

Leggevo che sia PDO che mysqli_* non lanciano di default eccezioni ma devono essere istruiti a farlo. Quindi controlla

http://stackoverflow.com/questions/8...ons-by-default
http://stackoverflow.com/questions/1...ions-in-mysqli

Altrimenti il check lo fai te:

Codice PHP:


class ModelRepository{

   private 
$db;
   
   public function 
__construct()
   {
        
$this->db = new mysqli("localhost""my_user""my_password""world");
   }

    ...

    function 
executeQuery($query){

       
$result $this->db->query($query);
       
       if(
false===$result)
       {
        throw new \
Exception(sprintf('Impossibile eseguire la query %s : %s',$query,$this->db->error)
       }
           return 
$result;
    }

    ...



per i file lo stesso. Un modo sarebbe:

Codice PHP:

function writeToFile($file,$content)
{

    
$res = @file_put_contents($file,$content);
    
    if(
$res===false)
    {
        throw new \
Exception(sprintf('Unable to write on file %s',$file));
    }
    
    return 
true//$res

poi se ho scritto cavolate fatevene una ragione