最終更新日時(UTC):
が更新

履歴 編集

function
<exception>

std::get_terminate(C++11)

namespace std {
  using terminate_handler = void(*)();
  terminate_handler get_terminate() noexcept;
}

概要

例外が処理されなかった場合の処理を行う関数を取得する

戻り値

例外が処理されなかった場合の処理を行う関数へのポインタ。 (デフォルトではおそらくヌルになる)

#include <iostream>
#include <exception>

void on_terminate()
{
  std::cout << "on terminate" << std::endl;
}

int main()
{
  std::terminate_handler handler1 = std::get_terminate();
  if (!handler1) {
    std::cout << "null handler" << std::endl;
  }

  std::set_terminate(on_terminate);
  std::terminate_handler handler2 = std::get_terminate();
  if (handler2) {
    handler2();
  }
}

出力

on terminate

バージョン

言語

  • C++11

処理系

参照