zx_thread_raise_exception

摘要

引發使用者產生的例外狀況。

宣告

#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_codesynth_data 欄位。 小於 ZX_EXCP_USER_CODE_USER0 的代碼將保留給系統定義的用途。 應用程式可使用大於或等於 ZX_EXCP_USER_CODE_USER0 的代碼給 為 AI 開發原則

傳回值

zx_thread_raise_exception() 會在成功時傳回 ZX_OK。 如果失敗,系統會傳回負的錯誤值。

錯誤

ZX_ERR_INVALID_ARGS optionsZX_EXCEPTION_TARGET_JOB_DEBUGGERtypeZX_EXCP_USERcontext 是無效指標。

ZX_ERR_NO_MEMORY 因記憶體不足而失敗。 使用者空間無法妥善處理這種 (異常) 錯誤。 在日後的版本中不會再發生這個錯誤。

另請參閱