
# 自定义华为云Astro轻应用接口错误码
为自定义接口定义错误码，帮助开发者快速定位问题，减少调试和解决问题的时间，提升用户体验。华为云Astro轻应用支持对错误码信息进行多语言国际化配置，实现根据用户使用不同的语言，将错误码信息进行不同的展示。
除了在应用开发设计器中设置错误码，您还可以在环境配置中设置错误码，详情请参见[管理应用中的错误码](https://support.huaweicloud.com/usermanual-astrozero/astrozero_06_2038.html)。两者的区别是在应用开发设计器中配置的错误码，可在打包发布应用时，将错误码一起打包发布出去。例如将应用打包发布到运行环境，错误码也会同步打包到运行环境，不需要在运行环境重复创建。在环境配置中设置的错误码，无法随应用发布出去。
#### 自定义错误码
1. 参考[登录华为云Astro轻应用应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9004.html)中操作，登录应用设计器。
2. 在左侧导航栏中，选择"逻辑"，单击"更多 \> 自定义错误码"。 
   图1自定义错误码   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000002013599013.png)
   
   
3. 在自定义错误码页签，单击"新建"，进入新建错误码页面。 
   也可以单击"导入"，选择系统中已创建的错误码进行导入。
   
   
4. 设置错误码参数，单击"保存"。 
   图2新建错误码   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000002138332761.png "点击放大")
   表1自定义错误码参数说明 
   | 参数      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   |:---|:---|
   | 名称      | 自定义错误码的名称。命名要求如下： - 长度不能超过64个字符，包括前缀命名空间的长度。 标识前的内容为命名空间，在华为云Astro轻应用中为了避免不同租户间数据的重名，租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间，创建后不支持修改。   - 必须以字母开头，只能由字母、数字、下划线、中划线和点组成。   |
   | 类型      | 新建错误码所属的分类。 取值范围：1\~64个字符。                                                                                                                                                                                                                                                                                                                                                                                                |
   | Http状态码 | 在下拉框中选择Http协议状态码，如200、201等。                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 语言      | 根据需要，选择所需的语言类型。单击"新增"，可添加多语言错误码。若待添加的语言不存在，可单击语言后的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001947393141.png)。在提示信息中，单击"翻译工作台"，跳转至翻译工作台配置页面进行添加。如何添加语言，请参见[设置华为云Astro轻应用系统支持的语言](https://support.huaweicloud.com/usermanual-astrozero/astrozero_06_2016.html)。                                                                                                                                                                  |
   | 格式      | 错误码的信息描述，支持使用{*Number*}表示变量名。例如 ，{0} 表示第一个输出变量，{1} 表示第二个输出变量，以此类推。                                                                                                                                                                                                                                                                                                                                                                                             |
      
   
   
 
#### 使用自定义错误码
自定义错误码创建完成后，可在脚本中使用。在脚本中，调用抛出错误信息的error函数I18nError('ErrorCodeName','变量1','变量2')。该函数中，输入参数为错误码名称"命名空间__testErrorCode"和错误码信息中所携带的变量（"val1"和"val2"）。
1. 创建脚本。 
   1. 参考[创建空白华为云Astro轻应用脚本](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9162.html)中操作，创建一个空白脚本。
   
   2. 在脚本编辑器中，输入如下代码。
      ```
      // test custom error func , get diff language error by user lang
      import * as error from 'error';
      export class TestDemo {
          @action.method({ label: 'test', description: 'error code', input: 'No input', output: 'No output' })
          public test() {
              //使用I18nError函数设定错误码和错误码信息携带变量
               throw new error.I18nError('命名空间__testErrorCode', ["val1", "val2"]);
          }
      }
      ```
      其中，"命名空间__testErrorCode"为自定义错误码名称，请根据实际情况配置。
      
   
   3. 单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001936100889.png)，保存脚本后，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894301216.png)，启用脚本。
   
   
   
   
2. 按照[定义API接口](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9197.html#astrozero_05_9197__section13848184422814)中操作，绑定上述开发的脚本，进行测试。
   
   图3自定义错误信息测试   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001973227086.png "点击放大")
   
   
 
