---
title: 函数：set_exception_info_callback
description: "| C函数原型 | aclError aclrtSetExceptionInfoCallback(aclrtExceptionInfoCallback callback) |"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgp/aclpythondevg_01_0102.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgp/aclpythondevg_01_0102.html
indexId: 3d1f6db049811bd20f82ac9bedbd0e14f8b4d7ba568d320b184b441d02ef94f7108
---
# 函数：set_exception_info_callback

| C函数原型 | aclError aclrtSetExceptionInfoCallback(aclrtExceptionInfoCallback callback) |
| --- | --- |
| Python函数 | ret = acl.rt.set\_exception\_info\_callback(fn) |
| 函数功能 | 设置异常回调函数，同步接口。 |
| 输入说明 | fn：function，表示Python侧的回调函数，格式如下： def exception\_callback(exception\_info) """ :exception\_info: 表示异常信息aclrtExceptionInfo的指针地址 :return: """ |
| 返回值说明 | ret：int，错误码。 返回0表示成功。 返回其它值表示失败。 |
| 约束说明 | 您需要在执行异步任务之前，设置异常回调函数，当Device上的任务执行异常时，系统会向用户设置的异常回调函数中传入一个包含任务ID、Stream ID、线程ID、Device ID以及错误码的aclrtExceptionInfo的指针地址，并执行回调函数，用户可以再分别调用acl.rt.get\_task\_id\_from\_exception\_info、acl.rt.get\_stream\_id\_from\_exception\_info、acl.rt.get\_thread\_id\_from\_exception\_info、acl.rt.get\_device\_id\_from\_exception\_info、acl.rt.get\_error\_code\_from\_exception\_info接口获取产生异常的任务ID、Stream ID、线程ID、Device ID以及错误码，便于定位问题。 使用场景举例：例如，在调用acl.op.execute\_v2接口前，调用acl.rt.set\_exception\_info\_callback接口设置异常回调函数，当算子在Device执行异常时，系统会向用户设置的异常回调函数中传入一个包含任务ID、Stream ID、线程ID、Device ID以及错误码的aclrtExceptionInfo的指针地址，并执行回调函数。 如果多次设置异常回调函数，以最后一次设置为准。 如果想清空回调函数，可再次调用acl.rt.set\_exception\_info\_callback接口进行重置（传入None或不传入参数）。 |
| 参考资源 | 接口调用示例，参见AI Core异常信息获取。 |
