AWS平台提供的异常对象都是uncheck
类型,开发者可以根据处理的需要进行捕获,如果开发者非常明确的要抛出这些异常,那么可以不对其处理。
除AWSAPIException
外,所有AWS内部异常的父类都是AWSExceptione
,常见异常如下:
Exception | 说明 |
---|---|
AWSAPIException | API调用异常(uncheck) |
AWSException | AWS平台异常(以下均内部使用,uncheck)【通用】 |
AWSClassLoaderException | 类加载异常 |
AWSEngineException | 引擎内部异常(流程、表单、报表等,见该类常量) |
BPMNDefException | BPMN定义异常(设计阶段) |
BPMNError | BPMN规范要求捕获的异常抛出(运行阶段) |
AWSDataAccessException | 数据操作异常。如数据库操作、JSON数据操作 |
AWSIllegalArgumentException | 参数校验异常【通用】 |
AppStoreServiceException | 访问AWS企业应用商店异常 |
虽然AWS平台定义了很多异常对象,但是对于应用开发者,只需要熟练掌握以下几个,即可满足大部分开发场景的需要:
//参数合法性异常
throw new AWSIllegalArgumentException("参数1", AWSIllegalArgumentException.FORMAT,"参数必须是0-9数字");
throw new AWSIllegalArgumentException("参数1", AWSIllegalArgumentException.EMPT);
throw new AWSIllegalArgumentException("参数1不能为空");
//操作被拒绝
throw new AWSForbiddenException("流程已经挂起,操作被拒绝");
throw new AWSForbiddenException("ctx类型不当,应给定begin()返回的上下文对象");
//对象不存在
throw new AWSObjectNotFindException("App文件不存在[" + appFile.getPath() + "]");
throw new AWSObjectNotFindException("流程定义未找到。processDefinitionId:" + processDefinitionId);