SDL3_API分类参考_错误处理(CategoryError)

2026-3-6 / 0 评论 / 2 阅读

错误处理(CategoryError)

SDL 提供的轻量级错误消息处理函数集。

绝大多数应用程序只会通过一个核心函数与这些 API 交互:当几乎所有 SDL 函数调用返回失败时,你可以通过 SDL_GetError() 获取该错误对应的人类可读字符串描述。

这些错误字符串是按线程独立维护的,应用程序也可以自定义错误信息(这在基于 SDL 构建供其他应用使用的库时非常常用),只需调用 SDL_SetError() 即可设置自定义错误信息。

一种常见的使用模式是:设计一个返回布尔值的函数(true 表示成功,false 表示失败),当内部操作失败时执行如下逻辑:

' FreeBASIC 示例代码
If (something_went_wrong) Then
    ' 设置错误信息并返回失败
    SDL_SetError("该操作因以下原因失败:错误码 = %d", errcode)
    Return False
End If

另一种常见做法是:如果已知触发失败的底层操作已经调用了 SDL_SetError(),则直接返回 false 即可,错误信息会自动向上传递。


函数

  • SDL_ClearError:清空当前线程的错误信息
  • SDL_GetError:获取当前线程的错误描述字符串
  • SDL_OutOfMemory:抛出“内存不足”错误并返回 0(常用于内存分配失败场景)
  • SDL_SetError:设置自定义错误信息(支持格式化字符串)
  • SDL_SetErrorV:基于 va_list 可变参数列表设置错误信息(底层实现函数)

数据类型

  • (无)

结构体

  • (无)

枚举

  • (无)

  • SDL_InvalidParamError:快速设置“无效参数”错误(参数:参数名)
  • SDL_Unsupported:快速设置“功能不支持”错误

评论一下?

OωO
取消