摘要
引發使用者產生的例外狀況。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_thread_raise_exception(uint32_t options,
zx_excp_type_t type,
const zx_exception_context_t* context);
說明
zx_thread_raise_exception()
會引發使用者產生的例外狀況。例外狀況
將傳送至與目前執行緒相關的例外狀況頻道。
目前,options 引數須為 ZX_EXCEPTION_TARGET_JOB_DEBUGGER
。
,系統會將例外狀況傳送至工作偵錯工具的例外狀況管道。
日後,您可以展開選項,指定其他類型為
例外管道
type 引數必須為 ZX_EXCP_USER
。日後,type 可以是
已展開,可增加其他類型的例外狀況。
系統會忽略 zx_exception_context_t
中的 arch
欄位。請改用
用來提供例外狀況相關資訊的 synth_code
和 synth_data
欄位。
小於 ZX_EXCP_USER_CODE_USER0
的代碼將保留給系統定義的用途。
應用程式可使用大於或等於 ZX_EXCP_USER_CODE_USER0
的代碼給
為 AI 開發原則
傳回值
zx_thread_raise_exception()
會在成功時傳回 ZX_OK
。
如果失敗,系統會傳回負的錯誤值。
錯誤
ZX_ERR_INVALID_ARGS
options 是
ZX_EXCEPTION_TARGET_JOB_DEBUGGER
,type 是
ZX_EXCP_USER 或 context 是無效指標。
ZX_ERR_NO_MEMORY
因記憶體不足而失敗。
使用者空間無法妥善處理這種 (異常) 錯誤。
在日後的版本中不會再發生這個錯誤。