Вобщем решил начать изучать ООП в php и вылазит такая ошибка Код (Text): Fatal error: Exception thrown without a stack frame in Unknown on line 0 Хотя скрипт выполняется правильно PHP: <?php class Widget { //connect info private $server; private $user; private $password; private $db; //---------- private $id; private $name; private $description; private $hDB; private $needsUpdating = false; public function __construct($widgetID){ $this->server = 'localhost'; $this->user = '*******'; $this->password = '*******'; $this->db = 'test'; $this->hDB = mysql_connect($this->server, $this->user, $this->password) or die('Ошибка MySQL'); mysql_select_db($this->db); if(! is_resource($this->hDB)){ throw new Exception ('Невозможно подключиться к DB!'); } $sql = "SELECT `name`, `description` FROM `widget` WHERE `widgetid`='$widgetID' ;"; $rs = mysql_query($sql); if(! is_resource($rs)) { throw new Exception ("Произошла Ошибка при выборе db!"); } if(! mysql_num_rows($rs)){ throw new Exception ('Указанная запись в db отсутствует!'); } $data = mysql_fetch_assoc($rs); $this->id = $widgetID; $this->name = $data['name']; $this->description = $data['description']; } public function getName(){ return $this->name; } public function getDescription(){ return $this->description; } public function setName($name){ $this->name = $name; $this->needsUpdating = true; } public function setDescription($description){ $this->description = $description; $this->needsUpdating = true; } public function __destruct(){ if(! $this->needsUpdating){ return; } $sql = "UPDATE `widget` SET "; $sql .= "name = '" . mysql_real_escape_string($this->name) . "', "; $sql .= "description='" . mysql_real_escape_string($this->description) . "' "; $sql .= "WHERE widgetid='" . $this->id . "' "; $rs = mysql_query($sql); if(! is_resource($rs)){ throw new Exception('Произошла Ошибка при обновлении DB.'); } mysql_close($this->hDB); } } ?> и вот PHP: <?php require_once('class.Widget.php'); try{ $objWidget = new Widget(1); print "Имя элемента: " . $objWidget->getName() . "<br>\n"; print "Описание элемента: " . $objWidget->getDescription() . "<br>\n"; $objWidget->setName('test'); $objWidget->setDescription('Это элемент test!'); }catch (Exception $e){ die ("Произошла ошибка: " . $e->getMessage()); } ?> Результат работы: Код (Text): Имя элемента: test Описание элемента: Это элемент test! Fatal error: Exception thrown without a stack frame in Unknown on line 0