• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • CPACK
    • Home
    • List packs
    • Submit pack
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

1.10 The class PlFail
All Application Manual Name SummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • A C++ interface to SWI-Prolog
        • A C++ interface to SWI-Prolog
          • The class PlFail
            • PlCheckFail(), and PlEx() convenience functions

1.10.1 PlCheckFail(), and PlEx() convenience functions

If one of the C PL_*() functions in SWI-Prolog.h returns failure, this can be either a Prolog-style failure (e.g. from PL_unify() or PL_next_solution()) or an error. If the failure is due to an error, it's usually best to immediately return to Prolog - and this can be done with the PlEx() function, which turns a Prolog error into a C++ PlException. PlCheckFail() calls PlEx() and additionally throws PlFail() if the failure is for Prolog failure.

PlEx() calls PL_exception() to see if there is a Prolog exception; if so, the Prolog exception is converted to a PlException object, which is then thrown. For more details on the C++ exceptions, see section 1.15.

void PlCheckFail(bool rc)
If rc is false, throw PlFail to return control to Prolog with failure.
C_t PlWrap(C_t rc, qid_t qid = 0)
If rc indicates failure or an error, check for an error and throw a PlException if there was one; otherwise, return the rc.
void PlEx(C_t rc, qid_t qid = 0)
If rc is “false” (non-zero), throw PlFail to return control to Prolog with failure. This is the same as PlCheckFail() except it can also specify a qid_t query ID.

ClioPatria (version V3.1.1-51-ga0b30a5)