<p><a href="https://github.com/b4n" class="user-mention">@b4n</a></p>
<blockquote>
<p>(although in practice most builders don't disable them anyway)</p>
</blockquote>
<p>Because they know things will crash if they do <g-emoji alias="frowning" fallback-src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f626.png" ios-version="6.0">😦</g-emoji></p>
<blockquote>
<p>as these checks are for programming errors, and should not depend on user behavior.</p>
</blockquote>
<p>Thats a specious argument.  Since most programmers fix crashing errors that occur every time the program runs, the errors MUST depend on user input otherwise they would be fixed if they occurred all the time.  So unless you apply analysis or exhaustive testing user input can always expose programming errors, so if the program can politely decline to perform the user operation and keep running its better than crashing.</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-plugins/commit/109b8d079a59ba35e8aba5da960fc5b10f03ea7f#commitcomment-23747714">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ1IfQtezTi3_bO8BBFM6SDCeoeL4ks5sZ4LogaJpZM4O8Uoj">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJy6MFd0_8xieeCyvrJ8EL0aOPcUsks5sZ4LogaJpZM4O8Uoj.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-plugins/commit/109b8d079a59ba35e8aba5da960fc5b10f03ea7f#commitcomment-23747714"></link>
  <meta itemprop="name" content="View Commit"></meta>
</div>
<meta itemprop="description" content="View this Commit 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-plugins","title":"geany/geany-plugins","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-plugins"}},"updates":{"snippets":[{"icon":"PERSON","message":"@elextr on 109b8d0: @b4n \r\n\r\n\u003e  (although in practice most builders don't disable them anyway)\r\n\r\nBecause they know things will crash if they do :frowning: \r\n\r\n\u003e as these checks are for programming errors, and should not depend on user behavior.\r\n\r\nThats a specious argument.  Since most programmers fix crashing errors that occur every time the program runs, the errors MUST depend on user input otherwise they would be fixed if they occurred all the time.  So unless you apply analysis or exhaustive testing user input can always expose programming errors, so if the program can politely decline to perform the user operation and keep running its better than crashing.\r\n"}],"action":{"name":"View Commit","url":"https://github.com/geany/geany-plugins/commit/109b8d079a59ba35e8aba5da960fc5b10f03ea7f#commitcomment-23747714"}}}</script>