<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Комментарии: Про ошибки и исключения в PHP</title>
	<atom:link href="http://webenterprise.ru/php-errors-and-exceptions/feed/" rel="self" type="application/rss+xml" />
	<link>https://webenterprise.ru/php-errors-and-exceptions/</link>
	<description>Блог простого web-разработчика о программировании, IT-индустрии, web-технологиях, Linux и о жизни во всех её проявлениях</description>
	<lastBuildDate>Sun, 05 Mar 2017 18:57:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>Автор: Str@nnik</title>
		<link>https://webenterprise.ru/php-errors-and-exceptions/#comment-13</link>
		<dc:creator>Str@nnik</dc:creator>
		<pubDate>Sat, 16 Apr 2011 22:28:18 +0000</pubDate>
		<guid isPermaLink="false">http://webenterprise.ru/?p=130#comment-13</guid>
		<description>Ага! Я так и делал недавно, когда писал один framework. В диспетчере, который обрабатывал маршрутизацию запросов, было нечто в духе:
&lt;pre&gt;
try {
        $this-&gt;_initRouter();
	$this-&gt;_initView();
	$controller = $this-&gt;_router-&gt;route();
	$this-&gt;_dispatch($controller);
} catch (Router_Exception $e) {
	// 404 error - page not found
	$this-&gt;_runError($e, &#039;404&#039;);
} catch (Exception $e) {
	// 500 internal server error
	trigger_error($e-&gt;getMessage(), E_USER_ERROR);
	$this-&gt;_runError($e, &#039;500&#039;);
}&lt;/pre&gt;
То есть специльный тип Router_Exception использовался для Исключений в случае, когда надо отображать 404 страницу, и стандартный тип Exception - во всех остальных случаях.</description>
		<content:encoded><![CDATA[<p>Ага! Я так и делал недавно, когда писал один framework. В диспетчере, который обрабатывал маршрутизацию запросов, было нечто в духе:</p>
<pre>
try {
        $this->_initRouter();
	$this->_initView();
	$controller = $this->_router->route();
	$this->_dispatch($controller);
} catch (Router_Exception $e) {
	// 404 error - page not found
	$this->_runError($e, '404');
} catch (Exception $e) {
	// 500 internal server error
	trigger_error($e->getMessage(), E_USER_ERROR);
	$this->_runError($e, '500');
}</pre>
<p>То есть специльный тип Router_Exception использовался для Исключений в случае, когда надо отображать 404 страницу, и стандартный тип Exception &#8212; во всех остальных случаях.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: olegka</title>
		<link>https://webenterprise.ru/php-errors-and-exceptions/#comment-11</link>
		<dc:creator>olegka</dc:creator>
		<pubDate>Sat, 16 Apr 2011 19:49:09 +0000</pubDate>
		<guid isPermaLink="false">http://webenterprise.ru/?p=130#comment-11</guid>
		<description>Исключения важная штука и способов её применения масса, к примеру можно сделать глобальную обработку исключений какого-нибудь фреймворка:

try
{
    ... // Выполняются контроллеры и представления
} catch (NotFoundException $exc) {
    ...
} catch (NeedAuthException $exc) {
    ...
} catch (DBException $exc) {
    ...
}

В определённых блоках исключений выводятся припасенные вьюшки (например, страница с 404 ошибкой, если есть ЧПУ) и делаются записи в логи. Мне показалось это очень удобным.</description>
		<content:encoded><![CDATA[<p>Исключения важная штука и способов её применения масса, к примеру можно сделать глобальную обработку исключений какого-нибудь фреймворка:</p>
<p>try<br />
{<br />
    &#8230; // Выполняются контроллеры и представления<br />
} catch (NotFoundException $exc) {<br />
    &#8230;<br />
} catch (NeedAuthException $exc) {<br />
    &#8230;<br />
} catch (DBException $exc) {<br />
    &#8230;<br />
}</p>
<p>В определённых блоках исключений выводятся припасенные вьюшки (например, страница с 404 ошибкой, если есть ЧПУ) и делаются записи в логи. Мне показалось это очень удобным.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
