Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::set_terminate(3)	      C++ Standard Libary	 std::set_terminate(3)

NAME
       std::set_terminate - std::set_terminate

Synopsis
	  Defined in header <exception>
	  std::terminate_handler  set_terminate(  std::terminate_handler  f  )
       (until C++11)
	  throw();
	  std::terminate_handler  set_terminate(  std::terminate_handler  f  )
       (since C++11)
	  noexcept;

	  Makes	 f  the	 new global terminate handler function and returns the
       previously
	  installed std::terminate_handler.

	  This function	is thread-safe.	Every call to std::set_terminate
	  synchronizes-with    (see    std::memory_order)    the    subsequent
       (since C++11)
	  std::set_terminate and std::get_terminate

Parameters
	  f  -	pointer	 to  function  of type std::terminate_handler, or null
       pointer

Return value
	  The previously-installed terminate handler, or a null	pointer	 value
       if none was
	  installed.

Example
       // Run this code

	#include <iostream>
	#include <cstdlib>
	#include <exception>

	int main()
	{
	    std::set_terminate([](){
		std::cout << "Unhandled	exception" << std::endl;
		std::abort();
	    });
	    throw 1;
	}

Possible output:
	Unhandled exception
	bash: line 7:  7743 Aborted		    (core dumped) ./a.out

See also
	  terminate	    function called when exception handling fails
			    (function)
	  get_terminate	    obtains the	current	terminate_handler
	  (C++11)	    (function)
	  terminate_handler the	type of	the function called by std::terminate
			    (typedef)

http://cppreference.com		  2022.07.31		 std::set_terminate(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::set_terminate&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help