Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Preventing the crash is probably just delaying the problem.</p> <p>Imagine that you could prevent the crash, but as a result, the user will save incorrect data back to the database, or corrupts data files, then you are just making the problem worse.</p> <p>Instead, try to find out what the exact problem is:</p> <ul> <li>are you passing incorrect arguments to a function in the 3rd party library?</li> <li>or is it a bug in the 3rd party library? Confront the library manufacturer with the bug.</li> </ul> <p>Alternatively:</p> <ul> <li>try to find a work around to the problem</li> <li>find an alternative for the library</li> </ul> <p><strong>EDIT:</strong> To be honest, I encountered the same situation last year with a 3rd party component. What I did was the following:</p> <p>First, use a _<em>try/</em>_except construction to catch the problem. This only works if you known in which function call it exactly crashes. It works like this:</p> <pre><code>__try { Some3rdPartyLibraryFunction(); } __except (EXCEPTION_EXECUTE_HANDLER) { } </code></pre> <p>Second, to prevent further corruption of your application, make sure that the 3rd party library is not called anymore within your application. E.g. suppose that the library is a reporting component, then if you encounter the crash, don't allow the user to open a report anymore, like this:</p> <pre><code>bool MyClass::openReport (char *reportname) { if (!reportModuleEnabled) return false; __try { OpenTheReport(reportname); } __except (EXCEPTION_EXECUTE_HANDLER) { // Tell the user about the problem and prevent further access to the library ShowMessage ("Sorry, no more reports"); reportModuleEnabled = false; return false; } return true; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload