<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mihalytch personal blog &#187; ошибка</title>
	<atom:link href="http://mihalytch.org.ua/tag/oshibka/feed" rel="self" type="application/rss+xml" />
	<link>http://mihalytch.org.ua</link>
	<description>Все о высоких технологиях</description>
	<lastBuildDate>Mon, 05 Dec 2011 16:05:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Перехват (обработка, отключение) ошибок в JavaScript</title>
		<link>http://mihalytch.org.ua/programming/js/interception-of-errors-in-javascript.html</link>
		<comments>http://mihalytch.org.ua/programming/js/interception-of-errors-in-javascript.html#comments</comments>
		<pubDate>Thu, 16 Oct 2008 15:37:42 +0000</pubDate>
		<dc:creator>mihal</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[xHttprequest]]></category>
		<category><![CDATA[ошибка]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/programming/js/interception-of-errors-in-javascript.html</guid>
		<description><![CDATA[Иногда все-таки возникает потребность перехватить ошибки при выполнении сценария JavaScript, с целью обработать каким либо образом сообщения об ошибке (например, [...]]]></description>
			<content:encoded><![CDATA[<p>Иногда все-таки возникает потребность перехватить ошибки при выполнении сценария JavaScript, с целью обработать каким либо образом сообщения об ошибке (например, через xHttprequest отправить на сервер и записать в .log файл) либо просто отключить вывод этих сообщений конечному пользователю.<span id="more-61"></span></p>
<p>Реализуется эта задача очень просто.</p>
<p>Для того чтобы просто отключить вывод сообщений об ошибках, достаточно написать одну строку  JavaScript кода:</p>
<pre class="brush: jscript; title: ; notranslate">
window.onerror=null;
</pre>
<p>Либо мы можем назначить обработчиком ошибок пользовательскую функцию:</p>
<pre class="brush: jscript; title: ; notranslate">
/* определим функцию обработки ошибок */
function onErrorHandler(msg, url, lno)  {
    /* тут тело обработчика */
   return true;
}

/* теперь  назначаем наш обработчик для события onError   */
window.onerror = onErrorHandler;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/programming/js/interception-of-errors-in-javascript.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ошибка: cannot find -lgio-2.0</title>
		<link>http://mihalytch.org.ua/unix/freebsd-error-cannot-find-lgio20.html</link>
		<comments>http://mihalytch.org.ua/unix/freebsd-error-cannot-find-lgio20.html#comments</comments>
		<pubDate>Wed, 30 Jul 2008 07:01:42 +0000</pubDate>
		<dc:creator>mihal</dc:creator>
				<category><![CDATA[UNIX`o подобные]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ошибка]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/unix/freebsd-error-cannot-find-lgio20.html</guid>
		<description><![CDATA[Буквально вчера устанавливал из портов  xorg-сервер под FreeBSD 7.0. Возникла ошибка следующего содержания: Начал установку следующим образом: Естественно под root`ом. [...]]]></description>
			<content:encoded><![CDATA[<p>Буквально вчера устанавливал из портов  xorg-сервер под FreeBSD 7.0. Возникла ошибка следующего содержания:</p>
<pre class="brush: bash; title: ; notranslate">...
/usr/bin/ld: cannot find -lgio-2.0
gmake: *** [libgiofam.la] Error 1
*** Error code 2
...</pre>
<p><span id="more-45"></span></p>
<p>Начал установку следующим образом:</p>
<pre class="brush: bash; title: ; notranslate">
#cd /usr/ports/x11/xorg
#make install clean
</pre>
<p>Естественно под root`ом. Оставил на ночь, а на следующий день увидел ошибку, приведенную выше. Решение проблемы оказалось более чем простым. Требуется обновить библиотеки glib, выполнив следующие действия:</p>
<p>Предварительно в <em>/usr/ports/devel/glib20/Makefile</em> необходимо добавить параметр:</p>
<pre class="brush: bash; title: ; notranslate">FORCE_PKG_REGISTER = 1</pre>
<p>Затем:</p>
<pre class="brush: bash; title: ; notranslate">
#cd /usr/ports/devel/glib20
#make reinstall
</pre>
<p>После того как обновятся библиотеки glib, продолжим установку xorg-server`а, выполним следующие команды:</p>
<pre class="brush: bash; title: ; notranslate">
#cd /usr/ports/x11/xorg
#make install clean
</pre>
<p>P.S. Начинающим FreeBSD-шникам могу пожелать только терпения и настойчивости. <img src='http://mihalytch.org.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/unix/freebsd-error-cannot-find-lgio20.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Обработка ошибок</title>
		<link>http://mihalytch.org.ua/programming/php/error-control.html</link>
		<comments>http://mihalytch.org.ua/programming/php/error-control.html#comments</comments>
		<pubDate>Wed, 27 Feb 2008 14:10:26 +0000</pubDate>
		<dc:creator>mihal</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ошибка]]></category>

		<guid isPermaLink="false">http://mihalytch.org.ua/programming/php/%d0%be%d0%b1%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%ba%d0%b0-%d0%be%d1%88%d0%b8%d0%b1%d0%be%d0%ba.html</guid>
		<description><![CDATA[В программировании имеют место две основных разновидности ошибок: Внешние ошибки; Логические ошибки. Внешние ошибки &#8211; это ошибки, в которых код [...]]]></description>
			<content:encoded><![CDATA[<p>В программировании имеют место две основных разновидности ошибок:</p>
<ol>
<li>Внешние ошибки;</li>
<li>Логические ошибки.</li>
</ol>
<p><span id="more-11"></span><strong>Внешние ошибки</strong> &#8211; это ошибки, в которых код ведет себя непредвиденным образом вследствие того, что часть программы не работает так, как ожидалось. Например, произошла ошибка при установке соединения с базой данных в том случае, когда для работы кода требуется успешная установка соединения.</p>
<p><strong>Логические ошибки</strong> &#8211; ошибки, возникающие вследствие неверной конструкции кода, или вследствие ошибочной логики, или из-за простейшей ошибки (например, опечатка).</p>
<p><em>Основные отличия между этими категориями ошибок:</em></p>
<ul>
<li>Внешние ошибки возникают всегда, независимо от того, насколько безошибочен разработанный программный код. По отношению к программному коду, они даже не ошибки, поскольку являются внешними факторами по отношению к программному продукту.</li>
<li>Неучтенные в логике кода внешние ошибки могут оказаться дефектами программы.</li>
<li>Логические ошибки гораздо труднее обнаружить, чем внешние ошибки, так как их расположение по определению неизвестно. Чтобы их найти, достаточно реализовать проверку непротиворечивости данных.</li>
</ul>
<p>В PHP имеется встроенная поддержка обработки ошибок. Существует три основных уровня серьезности ошибок:</p>
<ul>
<li>E_NOTICE &#8211; незначительные исправимые ошибки, существующие для того, чтобы помочь программисту идентифицировать возможные дефекты кода.</li>
<li>E_WARNING &#8211; исправимые ошибки времени выполнения. Они сообщают о нежелательном событии, не прерывая и не изменяя работу сценария.</li>
<li>E_ERROR &#8211; неисправимые ошибки. Прерывают работу выполняемого сценария.</li>
</ul>
<p>И еще 5 категорий ошибок, которые возникают несколько реже:</p>
<ul>
<li>E_PARSE &#8211; сценарий содержит синтаксическую ошибку и не может пройти синтаксический анализ. Неисправимая ошибка.</li>
<li>E_COMPILE_ERROR &#8211; ошибка, возникающая в ядре во время трансляции текста. Также не исправима.</li>
<li>E_COMPILE_WARNING &#8211; ошибка, возникшая в ядре во время синтаксического анализа сценария. Исправимая ошибка.</li>
<li>E_CORE_ERROR &#8211; неисправимая ошибка времени выполнения, возникающая в ядре.</li>
<li>E_CORE_WARNING &#8211; исправимая ошибка времени выполнения, возникающая в ядре.</li>
</ul>
<p>Также существует категория ошибок E_ALL, которая включает в себя все уровни отображаемых ошибок.<br />
В PHP имеется функция trigger_error(), которая дает возможность пользователю генерировать внутри сценария собственные ошибки. Всего три типа ошибок доступных для генерации пользователем:</p>
<ul>
<li>E_USER_NOTICE</li>
<li>E_USER_WARNING</li>
<li>E_USER_ERROR</li>
</ul>
<p>Контроль отображения ошибок возникших в сценарии</p>
<p>Управлять уровнем выводимых ошибок можно с помощью опции error_reporting в конфигурационном файле php.ini.</p>
<p>error_reporting &#8211; битовое поле, в котором используются определенные константы.</p>
<p>Например:</p>
<pre>error_reporting = E_ALL - отображать все ошибки.</pre>
<pre>error_reporting = E_ALL ~E_NOTICE - отображать все ошибки кроме E_NOTICE</pre>
<pre>error_reporting = E_ERROR | E_USER_ERROR - отображать E_ERROR или E_USER_ERROR.</pre>
<p>Обратите внимание, что удаление E_ERROR из уровня error_reporting не разрешает игнорировать неисправимые ошибки, а только предотвращает вызов обработчика ошибок!</p>
<p>Варианты обработки ошибок, соответствующих порогу error_reporting:</p>
<ul>
<li>отображение ошибки;</li>
<li>протоколирование ошибки;</li>
<li>игнорировать ошибки;</li>
<li>обрабатывать ошибки.</li>
</ul>
<p>Ни один из вышеперечисленных вариантов обработки ошибок не заменяет другие по важности или функциональности. Каждый из них занимает свое место в системе обработки ошибок.</p>
]]></content:encoded>
			<wfw:commentRss>http://mihalytch.org.ua/programming/php/error-control.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

