NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
终止处理

异常终止处理的接口 更多...

类型定义

using terminate_handler = void (*)()
 终止处理函数指针类型
using exit_handler = void (*)()
 退出处理函数指针类型

函数

void NEFORCE_API set_terminate (terminate_handler handler) noexcept
 设置终止处理函数
NEFORCE_NORETURN void NEFORCE_API terminate () noexcept
 终止处理
NEFORCE_NORETURN void NEFORCE_API abort () noexcept
 终止进程
int NEFORCE_API set_exit (exit_handler handler) noexcept
 注册退出处理函数
NEFORCE_NORETURN void NEFORCE_API exit (int status)
 正常终止程序
NEFORCE_NORETURN void NEFORCE_API immediate_exit (int status) noexcept
 快速终止程序
int NEFORCE_API set_quick_exit (exit_handler handler) noexcept
 注册快速退出处理函数
NEFORCE_NORETURN void NEFORCE_API quick_exit (int status) noexcept
 快速退出程序

详细描述

异常终止处理的接口

类型定义说明

◆ exit_handler

using exit_handler = void (*)()

退出处理函数指针类型

定义退出处理函数的签名,用于注册在程序正常退出时调用的函数。

在文件 terminate.hpp63 行定义.

◆ terminate_handler

using terminate_handler = void (*)()

终止处理函数指针类型

定义终止处理函数的签名,用于定义程序终止触发的事件。

在文件 terminate.hpp27 行定义.

函数说明

◆ abort()

NEFORCE_NORETURN void NEFORCE_API abort ( )
noexcept

终止进程

强制终止调用进程,不会进行任何析构行为

注解
此函数不会返回,进程将在执行函数后终止。

引用了 abort().

被这些函数引用 abort().

◆ exit()

NEFORCE_NORETURN void NEFORCE_API exit ( int status)

正常终止程序

参数
status退出状态码

执行以下操作:

  1. 逆序调用所有通过set_exit注册的函数
  2. 刷新所有输出流
  3. 关闭所有打开的文件
  4. 将控制权返回给宿主环境,返回status作为退出码
注解
此函数不会返回,进程将在执行函数后终止。

引用了 exit().

被这些函数引用 exit().

◆ immediate_exit()

NEFORCE_NORETURN void NEFORCE_API immediate_exit ( int status)
noexcept

快速终止程序

参数
status退出状态码

不调用set_exit注册的函数,直接终止程序。

注解
此函数不会返回,进程将在执行函数后终止。

引用了 immediate_exit().

被这些函数引用 immediate_exit().

◆ quick_exit()

NEFORCE_NORETURN void NEFORCE_API quick_exit ( int status)
noexcept

快速退出程序

参数
status退出状态码

执行以下操作:

  1. 调用所有通过at_quick_exit注册的函数
  2. 不调用set_exit注册的函数,直接终止程序
注解
此函数不会返回,进程将在执行函数后终止。

引用了 quick_exit().

被这些函数引用 quick_exit().

◆ set_exit()

int NEFORCE_API set_exit ( exit_handler handler)
noexcept

注册退出处理函数

参数
handler要注册的函数指针
返回
成功返回0,失败返回非0

注册在程序正常退出(通过exit)时调用的函数。 注册的函数按照注册顺序的逆序调用。

引用了 set_exit().

被这些函数引用 set_exit().

◆ set_quick_exit()

int NEFORCE_API set_quick_exit ( exit_handler handler)
noexcept

注册快速退出处理函数

参数
handler要注册的函数指针
返回
成功返回0,失败返回非0

注册在程序通过quick_exit退出时调用的函数。 注册的函数按照注册顺序的逆序调用。

引用了 set_quick_exit().

被这些函数引用 set_quick_exit().

◆ set_terminate()

void NEFORCE_API set_terminate ( terminate_handler handler)
noexcept

设置终止处理函数

参数
handler新的终止处理函数指针

设置当前进程的终止处理函数,当程序因未捕获的异常而终止时,将调用设置的处理函数。

◆ terminate()

NEFORCE_NORETURN void NEFORCE_API terminate ( )
noexcept

终止处理

调用当前设置的终止处理函数。

注解
此函数不会返回,进程将在执行终止处理函数后终止。