Location: PHPKode > projects > Energine > energine-2.2/core2a/framework/SystemException.class.php
<?php

/**
 * Класс SystemExceptionm, DummyException.
 *
 * @package energine
 * @subpackage core
 * @author 1m.dm
 * @copyright ColoCall 2006
 * @version $Id: SystemException.class.php,v 1.5 2007/12/17 14:16:03 pavka Exp $
 */

//require_once('core/framework/BaseException.class.php');

# устанавливаем свой обработчик ошибок
set_error_handler('nrgnErrorHandler');

/**
 * Обработчик ошибок.
 * Преобразует все ошибки в системные исключения с типом ERR_DEVELOPER.
 *
 * @param int $errno
 * @param string $errstr
 * @param string $errfile
 * @param string $errline
 * @return void
 */
function nrgnErrorHandler($errno, $errstr, $errfile, $errline) {
    throw new SystemException(
        $errstr,
        SystemException::ERR_DEVELOPER,
        array($errfile, $errline)
    );
}

/**
 * Системное исключение.
 *
 * @package energine
 * @subpackage core
 */
class SystemException extends BaseException {

    /**
     * Конструктор класса.
     *
     * @access public
     * @param string $message
     * @param int $code
     * @param mixed $customMessages
     * @return void
     */
	public function __construct($message, $code = self::ERR_CRITICAL, $customMessages = null) {
		parent::__construct($message, $code, $customMessages);
	}
}

/**
 * Фиктивное исключение.
 * Используется при необходимости прерывания нормального выполнения программы
 * и выхода в обработчик исключений.
 *
 * @package energine
 * @subpackage core
 * @see Component::generateErrors()
 */
class DummyException extends Exception {};
Return current item: Energine