---
title: aclrtBinarySetExceptionCallback
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclcppdevg_03_2139.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_2139.html
indexId: ccb8990cac1d7c4c6b05191f2bfd5a6a2e91cdfe69ef5d05497e34b3a5b7526d68
---
# aclrtBinarySetExceptionCallback

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

调用本接口注册回调函数。若多次设置回调函数，以最后一次设置为准。

在执行算子之前，调用本接口注册回调函数。如果算子执行过程中出现异常，将触发回调函数的执行，并将异常信息存储在aclrtExceptionInfo结构体中。之后，可以通过调用aclrtGetArgsFromExceptionInfo和aclrtGetFuncHandleFromExceptionInfo接口，从异常信息中获取用户下发算子执行任务时的参数以及核函数句柄。目前，仅支持获取AI Core算子执行异常时的信息。


#### 函数原型

```
aclError aclrtBinarySetExceptionCallback(aclrtBinHandle binHandle, aclrtOpExceptionCallback callback, void *userData)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| binHandle | 输入 | 算子二进制句柄。 调用aclrtBinaryLoadFromFile接口或aclrtBinaryLoadFromData接口获取算子二进制句柄，再将其作为入参传入本接口。 |
| callback | 输入 | 指定要注册的回调函数。 回调函数的函数原型为： typedef void (\*aclrtOpExceptionCallback)(aclrtExceptionInfo \*exceptionInfo, void \*userData); |
| userData | 输入 | 待传递给回调函数的用户数据的指针。 |


#### 返回值说明

返回0表示成功，返回其他值表示失败，请参见aclError。
