Skip to content

ErrorCode

ErrorCode 是一个枚举类型,表示 QPilot OS 操作返回的错误代码。这些代码指示在量子任务提交、执行或结果检索过程中发生的故障类型。

概述

错误代码有助于诊断与 QPilot OS 平台交互时的问题。每个代码对应一类特定的故障,从数据库错误到芯片离线等。

枚举值

成功

取值描述
NO_ERROR_FOUND未发生错误;操作成功完成

数据和格式错误

取值描述
DATABASE_ERROR数据库操作失败
ORIGINIR_ERROROriginIR 程序字符串无效或格式错误
JSON_FIELD_ERROR必需的 JSON 字段缺失或包含无效值
ERR_PARAMETER请求中的参数无效或缺失
ERR_TASK_CONFIG任务配置无效

后端和计算错误

取值描述
BACKEND_CALC_ERROR后端在计算过程中遇到错误
ERR_UNSUPPORT_BACKEND_TYPE不支持指定的后端类型
ERR_QVM_INIT_FAILED量子虚拟机初始化失败
ERR_QCOMPILER_FAILED量子编译器遇到错误
CLUSTER_SIMULATE_CALC_ERR集群模拟计算失败
CLUSTER_BASE基础集群错误

资源限制错误

取值描述
ERR_TASK_BUF_OVERFLOW任务缓冲区溢出;排队任务过多
EXCEED_MAX_QUBIT程序超出芯片支持的最大量子比特数
EXCEED_MAX_CLOCK程序超出允许的最大线路深度(时钟周期)
ERR_SUB_GRAPH_OUT_OF_RANGE子图规范超出有效范围
ERR_TASK_STATUS_BUF_OVERFLOW任务状态缓冲区溢出
ERR_QPROG_LENGTH量子程序超出允许的最大长度

线路和编译错误

取值描述
ERR_PRE_ESTIMATE线路资源预估失败
ERR_MATE_GATE_CONFIGMate 门配置错误
ERR_FIDELITY_MATRIX保真度矩阵计算错误
ERR_QST_PROG无效的量子态层析程序
ERR_EMPTY_PROG提交的量子程序为空
ERR_QUBIT_SIZE无效的量子比特大小规范
ERR_QUBIT_TOPO量子比特拓扑错误
ERR_QUANTUM_CHIP_PROG量子芯片程序错误
ERR_REPEAT_MEASURE重复测量配置错误
ERR_OPERATOR_DB算符数据库错误

任务管理错误

取值描述
ERR_UNKNOW_TASK_TYPE未知或不支持的任务类型
ERR_NOT_FOUND_APP_ID未找到指定的应用 ID
ERR_NOT_FOUND_TASK_ID未找到指定的任务 ID
ERR_PARSER_SUB_TASK_RESULT解析子任务结果失败
ERR_TASK_TERMINATED任务在完成前被终止

网络和连接错误

取值描述
ERR_SYS_CALL_TIME_OUT系统调用超时
ERR_INVALID_URL提供的 URL 无效
ERR_BACKEND_CHIP_TASK_SOCKET_WRONG后端芯片任务套接字错误
ERR_TCP_INIT_FATLTTCP 初始化失败
ERR_TCP_SERVER_HALTTCP 服务器已停止或无法访问

芯片可用性

取值描述
ERR_CHIP_OFFLINE目标量子芯片当前处于离线状态
ERR_SCHEDULE_CHIP_TOPOLOGY_SUPPORTED调度器不支持该芯片拓扑

通用

取值描述
UNDEFINED_ERROR发生了未定义或无法识别的错误

示例

python
from pyqpanda3.pilot_service import QPilotService

service = QPilotService(url="https://qpilot.originquantum.cn", api_key="key")
task_id = service.async_run(prog, shot=1000)

# Query and check for errors
state, results, err_code, err_info = service.query_result(task_id)

if err_code == 0:  # NO_ERROR_FOUND
    print("Operation succeeded")
elif err_code == 1:  # ERR_CHIP_OFFLINE
    print("The chip is offline; try a different backend")
elif err_code == 2:  # EXCEED_MAX_QUBIT
    print("Program uses too many qubits for this chip")
elif err_code == 3:  # ERR_TASK_TERMINATED
    print("Task was terminated")
else:
    print(f"Error {err_code}: {err_info}")

另见

Released under the MIT License.