A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://timsong-cpp.github.io/cppwp/n4659/except.terminate below:

[except.terminate]

In some situations exception handling must be abandoned for less subtle error handling techniques. [Note: These situations are:

  • when the exception handling mechanism, after completing the initialization of the exception object but before activation of a handler for the exception ([except.throw]), calls a function that exits via an exception, or

  • when the exception handling mechanism cannot find a handler for a thrown exception ([except.handle]), or

  • when the search for a handler encounters the outermost block of a function with a non-throwing exception specification, or

  • when the destruction of an object during stack unwinding terminates by throwing an exception, or

  • when initialization of a non-local variable with static or thread storage duration ([basic.start.dynamic]) exits via an exception, or

  • when destruction of an object with static or thread storage duration exits via an exception ([basic.start.term]), or

  • when execution of a function registered with std​::​atexit or std​::​at_­quick_­exit exits via an exception ([support.start.term]), or

  • when a throw-expression with no operand attempts to rethrow an exception and no exception is being handled ([except.throw]), or

  • when the function std​::​nested_­exception​::​rethrow_­nested is called for an object that has captured no exception ([except.nested]), or

  • when execution of the initial function of a thread exits via an exception ([thread.thread.constr]), or

  • for a parallel algorithm whose ExecutionPolicy specifies such behavior ([execpol.seq], [execpol.par], [execpol.parunseq]), when execution of an element access function ([algorithms.parallel.defns]) of the parallel algorithm exits via an exception ([algorithms.parallel.exceptions]), or

  • when the destructor or the copy assignment operator is invoked on an object of type std​::​thread that refers to a joinable thread ([thread.thread.destr], [thread.thread.assign]), or

  • when a call to a wait(), wait_­until(), or wait_­for() function on a condition variable ([thread.condition.condvar], [thread.condition.condvarany]) fails to meet a postcondition.


  • RetroSearch is an open source project built by @garambo | Open a GitHub Issue

    Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

    HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4