<p><a href="https://github.com/kugel-" class="user-mention">@kugel-</a> Its not really about this PR itself, its about trying to define an error handling idiom since HACKING is silent on the issue (AFAICT).  But we should indeed apologise to <a href="https://github.com/vfaronov" class="user-mention">@vfaronov</a> for hijacking his PR for that discussion (but I will now continue to do so :)</p>
<p>That there are differing opinions reflects the fact that there is no "right" answer, it depends how you look at it.  Developers want to know about anything dodgy as soon as possible, and to BT it to see how it got to the problem.  Users do NOT want Geany to crash because it risks losing their work in progress. Unfortunately the set of tools provided by C are heavily biased towards developers so they need to be applied carefully or they can reduce Geany's reliability.    So its not unexpected that there are varying opinions.</p>
<p>As you can tell I am more sympathetic to the users, so support Geany continuing to run wherever possible, even if that means dropping some item of functionality, as <a href="https://github.com/vfaronov" class="user-mention">@vfaronov</a> does in the original code if he encounters NULLs.  But I also support telling the developers that something dodgy is going on, so using <code>g_critical()</code> and friends seems useful, especially as they can be made to crash by setting the G_DEBUG environment symbol, allowing backtraces to be obtained.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/pull/1537#issuecomment-315514567">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJyYSMWkjq1rJsbTdpKy14CAAkfx5ks5sOF-MgaJpZM4OR0zM">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ_OX6hmiun0i9zNJT41RgjSpYmGbks5sOF-MgaJpZM4OR0zM.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/pull/1537#issuecomment-315514567"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@elextr in #1537: @kugel- Its not really about this PR itself, its about trying to define an error handling idiom since HACKING is silent on the issue (AFAICT).  But we should indeed apologise to @vfaronov for hijacking his PR for that discussion (but I will now continue to do so :)\r\n\r\nThat there are differing opinions reflects the fact that there is no \"right\" answer, it depends how you look at it.  Developers want to know about anything dodgy as soon as possible, and to BT it to see how it got to the problem.  Users do NOT want Geany to crash because it risks losing their work in progress. Unfortunately the set of tools provided by C are heavily biased towards developers so they need to be applied carefully or they can reduce Geany's reliability.    So its not unexpected that there are varying opinions.\r\n\r\nAs you can tell I am more sympathetic to the users, so support Geany continuing to run wherever possible, even if that means dropping some item of functionality, as @vfaronov does in the original code if he encounters NULLs.  But I also support telling the developers that something dodgy is going on, so using `g_critical()` and friends seems useful, especially as they can be made to crash by setting the G_DEBUG environment symbol, allowing backtraces to be obtained."}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1537#issuecomment-315514567"}}}</script>