Исключения. Не понимаю

MMikhail

Guest
Исключения. Не понимаю

Почему не обрабатывается исключение
в php5
PHP:
   try
     {
        
     	$fd= fopen("regions.dat","r");
        $fwrite($fd,"ssss");
        $fopen($fd);
      } 
      catch (Exception $e)
      {
			echo "Error";
       }
файла regions.dat в принципе не существует.
выдает:


<br />
<b>Warning</b>: fopen(c:/au5toexec.bat) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory in <b>D:\php_test\tst.php</b> on line <b>4</b><br />
<br />
<b>Warning</b>: fwrite(): supplied argument is not a valid stream resource in <b>D:\php_test\tst.php</b> on line <b>5</b><br />
<br />
<b>Warning</b>: fclose(): supplied argument is not a valid stream resource in <b>D:\php_test\tst.php</b> on line <b>6</b><br />
 

camka

не самка
Можно зарегистрировать функцию-обработчик стандартных ошибок и из неё уже выплёввывать нужное исключение в зависимости от типа ошибки.
 

Screjet

Новичок
PHP:
<?php
class myFile {

	private $name;
	private $fd;

	function __construct( $name ){
		$this->name = $name;
	}

	function open( $mode='r' ){
		if ( !($this->fd = @fopen($this->name, $mode)) ){
			throw new Exception("Cannot open file for mode: ".$mode);
		}
	}

	function close(){
		fclose($this->fd);
	}
}

$f = new myFile('/nonexistent');
try {
	$f->open();
} catch( Exception $e ){
	print_r($e);
}
?>
так понятней?
 
Сверху