
# 管理应用中的错误码
#### 操作场景
调用接口出错后，用户可根据每个接口对应的错误码来定位错误原因。华为云Astro轻应用支持用户自定义错误码，并支持对错误码描述进行多语言国际化配置，实现根据语言的不同将错误码描述信息进行不同的展示。
除了在环境配置中设置错误码，用户还可以在应用开发设计器中设置错误码，详情请参见[自定义华为云Astro轻应用接口错误码](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0891.html)。两者的区别是在应用开发设计器中配置的错误码，可在打包发布应用时，将错误码一起打包发布出去。例如将应用打包发布到运行环境，错误码也会同步打包到运行环境，不需要在运行环境重复创建。在环境配置中设置的错误码，无法随应用发布出去。
#### 创建错误码
1. 在华为云Astro轻应用服务控制台，单击"进入首页"，进入应用开发页面。
2. 在页面左上方单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001917373754.png)，选择"环境管理 \> 环境配置"，进入环境配置。
3. 在顶部主菜单中，选择"维护"。
4. 在左侧导航栏中，选择"全局元素 \> 错误码"。
5. 在自定义错误码页面，单击"新建"。 
   - 自定义错误码：展示用户自定义的错误码，华为云Astro轻应用支持增加、删除和修改自定义的错误码。
   
   - 系统错误码：展示华为云Astro轻应用预置的错误码，可查看预置的错误码和错误原因，但不能删除。
   
   
   
   
6. 配置错误码参数，单击"保存"。 
   图1新建错误码   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894138792.png "点击放大")
   表1错误码参数说明 
   | 参数      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   |:---|:---|
   | 名称      | 新建错误码的名称，命名要求如下。系统会根据"名称"和"语言"匹配错误码进行展示，请保证"名称"+"语言"唯一。 - 长度不能超过64个字符，包括前缀命名空间的长度。 名称前的内容为命名空间，在华为云Astro轻应用中为了避免不同租户间数据的重名，租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间，创建后不支持修改。   - 必须以字母开头，仅能包含字母、数字、下划线、中划线或点。                                                                                                                                                                                                                  |
   | 类别      | 错误码所属的分类，直接在输入框中输入即可。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | Http状态码 | Http协议状态码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 语言      | 请根据实际需求，从下拉列表中选择语言类型。 - 单击"新增"，支持创建多语言错误码。  - 单击语言后的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298676.png)，会显示"请在翻译工作台中添加支持的语言"。单击"翻译工作台"跳转到对应页面，在翻译工作台中，可添加系统支持的语言，详情请参见[设置华为云Astro轻应用系统支持的语言](https://support.huaweicloud.com/usermanual-astrozero/astrozero_06_2016.html)。   |
   | 格式      | 错误码信息描述，长度不能超过255个字节。在描述中，可以用{*Number*}表示变量名。例如，{0}表示第一个输出变量，{1}表示第二个输出变量，以此类推。 例如：配置为"这个是{0}的报错：{1}！"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
      
   
   
 
#### 使用错误码
在应用开发时，用户也可以根据需要在应用开发设计器中，导入账号下其他的错误码。导入后，可在应用开发设计器中，使用该错误码。以在"A"应用为例，介绍如何导入错误码。
1. 参考[登录华为云Astro轻应用应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9004.html)中操作，进入"A"应用设计器。
2. 在左侧菜单栏中，选择"逻辑"，单击页面下方的"自定义错误码"。 
   图2选择自定义错误码   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000002138648809.png)
   
   
3. 在自定义错误码页签，单击"导入"，选择账号下已有的错误码进行导入。
4. 在脚本中，使用错误码。 
   这里通过新建脚本，将上文创建的错误码抛出，在脚本中增加抛出错误信息的context函数setI18nError(*'错误码名称','变量1','变量2'* )为例。
   1. 参考[创建空白华为云Astro轻应用脚本](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9162.html)中操作，创建一个空白脚本。
   
   2. 在脚本编辑器中，录入如下代码，并单击上方按钮区域的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298668.png)，保存脚本。
      ```
      import * as context from'context';
      context.setI18nError('命名空间__Error001','测试用例','脚本使用错误码的用例解读')
      ```
      
   
   3. 测试执行脚本。
      单击编辑器上方的执行图标![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298664.png)，在页面底部，单击测试窗口右上角的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298660.png)。在"输出参数"页签，显示如[图3]所示，可查看到抛出的错误码信息。
      图3运行脚本后显示界面   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001936098321.png "点击放大") 
   
   4. 单击脚本编辑器上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298656.png)，启用脚本。
    
   
   
5. 参考[创建空白华为云Astro轻应用服务编排](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9131.html)中操作，创建服务编排时可使用错误码。
   
   在"全局上下文"中，新建公式变量，使用表达式SETI18NERROR(**ErrorCodeName*','变量1','变量2'* )方式引入错误码。
   图4服务编排中使用错误码   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298672.png "点击放大")
   ![](https://support.huaweicloud.com/usermanual-astrozero/public_sys-resources/note_3.0-zh-cn.png)
   目前工作流中的错误码，由工作流调用的脚本和服务编排抛出。
   
   
 
