<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: try - catch не ловит exeptions</title>
    <link>https://opennet.me/openforum/vsluhforumID9/4738.html</link>
    <description>Не ловит Segmentation fault&lt;br&gt;&lt;br&gt;Примерчик простой&lt;br&gt;&lt;br&gt;int buf&#091;10&#093;, i;&lt;br&gt;&lt;br&gt;try&lt;br&gt;&#123;&lt;br&gt;  for(i=0;i&amp;lt;1000;i++) buf&#091;i&#093;=1234;&lt;br&gt;&#125;&lt;br&gt;catch(...)&lt;br&gt;&#123;&lt;br&gt;  printf(&quot;Exception&#092;n&quot;);&lt;br&gt;  return 1;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;printf(&quot;All right&#092;n&quot;);&lt;br&gt;&lt;br&gt;т.е. выделяю буфер в 10 элементов, а потом пытаюсь пихнуть туда 1000 элементов.&lt;br&gt;По идее должен возникнуть экзепшион и перехватиться cath-ом и обработаться, типа написать сообщение и выйти спокойно.&lt;br&gt;Реально же выводит следующее при запуске&lt;br&gt;&lt;br&gt;All right&lt;br&gt;Segmentation fault&lt;br&gt;&lt;br&gt;В чем я не прав и почему так получается?&lt;br&gt;&lt;br&gt;Спасибо заранее за помощь </description>

<item>
    <title>try - catch не ловит exeptions (Алексей)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/4738.html#17</link>
    <pubDate>Wed, 24 Feb 2010 13:24:47 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Ссылка не работает =(&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;А из кэша гугла не пробовали читать? &lt;br&gt;&lt;br&gt;Спасибо.&lt;br&gt;</description>
</item>

<item>
    <title>try - catch не ловит exeptions (phpcoder)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/4738.html#16</link>
    <pubDate>Wed, 24 Feb 2010 09:34:21 GMT</pubDate>
    <description>&amp;gt;Ссылка не работает =(&lt;br&gt;&lt;br&gt;А из кэша гугла не пробовали читать?&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>try - catch не ловит exeptions (Алексей)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/4738.html#15</link>
    <pubDate>Wed, 24 Feb 2010 08:31:18 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;catch ловит SIGSEGV и SIGFPE :) &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;Чтобы не делать - лишь бы ошибки не исправлять &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Никто не отказывается от исправления ошибок, но спокойствие пользователей тоже важный фактор. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Ни какого спокойствия не добьешься &lt;br&gt;&amp;gt;&amp;gt;Падать - это не выход из ситуации. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;а оживлять труп, это выход ? &lt;br&gt;&lt;br&gt;Иногда очень даже выход. Мой пример: использую для открытия изображения сотороннюю библиотеку, в которой в некоторых ситуациях случается segmentation fault, который можно просто проигнорировать. В винде ставится try-catch и все замечательно работает, а вот под линухом все падает, поэтому приходится извращаться, используя setjmp. Возможность поймать этот segmentation fault и под линукс через try-catch замечательный выход в данной ситуации.&lt;br&gt;&lt;br&gt;На всякий случай, чтобы не было недопонимания ситуации: возникновение segmentation fault зависит исключительно от изображения. И написать программу так, чтобы его не было, просто невозможно...&lt;br&gt;</description>
</item>

<item>
    <title>try - catch не ловит exeptions (Алексей)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/4738.html#14</link>
    <pubDate>Wed, 24 Feb 2010 08:21:42 GMT</pubDate>
    <description>&amp;gt;Я тоже долго бился, но докопался до истины - http://www.visualdata.ru/blog/109-segv-signal.html. Теперь try &lt;br&gt;&amp;gt;catch ловит SIGSEGV и SIGFPE :) &lt;br&gt;&lt;br&gt;Ссылка не работает =(, не могли бы Вы либо кинуть другую ссылку на идентичную статью, либо описать здесь, что нужно сделать, чтобы segmentation fault ловился в try-catch?&lt;br&gt;</description>
</item>

<item>
    <title>try - catch не ловит exeptions (pilot.net)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/4738.html#13</link>
    <pubDate>Thu, 19 Nov 2009 05:34:02 GMT</pubDate>
    <description>&amp;gt;&amp;gt;&amp;gt;Я тоже долго бился, но докопался до истины - http://www.visualdata.ru/blog/109-segv-signal.html. Теперь try &lt;br&gt;&amp;gt;&amp;gt;&amp;gt;catch ловит SIGSEGV и SIGFPE :) &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Чтобы не делать - лишь бы ошибки не исправлять &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Никто не отказывается от исправления ошибок, но спокойствие пользователей тоже важный фактор. &lt;br&gt;&lt;br&gt;Ни какого спокойствия не добьешься&lt;br&gt;&amp;gt;Падать - это не выход из ситуации. &lt;br&gt;&lt;br&gt;а оживлять труп, это выход ?&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>try - catch не ловит exeptions (Владислав)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/4738.html#12</link>
    <pubDate>Wed, 18 Nov 2009 14:41:46 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Я тоже долго бился, но докопался до истины - http://www.visualdata.ru/blog/109-segv-signal.html. Теперь try &lt;br&gt;&amp;gt;&amp;gt;catch ловит SIGSEGV и SIGFPE :) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Чтобы не делать - лишь бы ошибки не исправлять &lt;br&gt;&lt;br&gt;Никто не отказывается от исправления ошибок, но спокойствие пользователей тоже важный фактор.&lt;br&gt;Падать - это не выход из ситуации.&lt;br&gt;</description>
</item>

<item>
    <title>try - catch не ловит exeptions (pilot.net)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/4738.html#11</link>
    <pubDate>Wed, 18 Nov 2009 11:42:25 GMT</pubDate>
    <description>&amp;gt;Я тоже долго бился, но докопался до истины - http://www.visualdata.ru/blog/109-segv-signal.html. Теперь try &lt;br&gt;&amp;gt;catch ловит SIGSEGV и SIGFPE :) &lt;br&gt;&lt;br&gt;Чтобы не делать - лишь бы ошибки не исправлять &lt;br&gt;</description>
</item>

<item>
    <title>try - catch не ловит exeptions (Владислав)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/4738.html#10</link>
    <pubDate>Wed, 18 Nov 2009 11:31:26 GMT</pubDate>
    <description>Я тоже долго бился, но докопался до истины - http://www.visualdata.ru/blog/109-segv-signal.html. Теперь try catch ловит SIGSEGV и SIGFPE :)&lt;br&gt;</description>
</item>

<item>
    <title>try - catch не ловит exeptions (dilnab)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/4738.html#9</link>
    <pubDate>Tue, 05 May 2009 07:56:56 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;Точно так же как не стоит использовать exception для проверки и выхода &lt;br&gt;&amp;gt;из цикла по достижению конца массива, не надо для этого и &lt;br&gt;&amp;gt;SIGSEGV использовать. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;А вообще, сигналы в Unix настолько же фундаментальны, как и message dispatch &lt;br&gt;&amp;gt;в windows gui. Надежные сервера обязательно перехватывают и корректно обрабатывают некоторые &lt;br&gt;&amp;gt;сигналы - SIGINT, SIGTERM, SIGCHILD если запускаются дочерние процессы, SIGPIPE если &lt;br&gt;&amp;gt;работают с сокетами... Это все стоит сначала хорошо  изучить, а &lt;br&gt;&amp;gt;потом и посмотреть как на все это наложить семантику конкретного языка &lt;br&gt;&amp;gt;- C++ exceptions, например... &lt;br&gt;&lt;br&gt;Конечно в большом проекте можно упустить выходы за границы, использование неинициализированных указателей ... очень тяжко их находить и легко наступать на одни и те=же грабли.&lt;br&gt;Подскажите пожалуйста инструмен для Solaris/SUN. Использую компилятор Sunstudio 10.&lt;br&gt;Valgrind использовал для Linux, но при компиляции с OCI очень много ругается, тож непонятно. В винде помоему хорошая вешь была Boundary</description>
</item>

</channel>
</rss>
