在 Salesforce 文档中,提到启用 Aura 的 Apex 方法应抛出 AuraHandledException 以将用户友好的错误消息传播到客户端。但是,我的代码库中有一个自定义异常类,我很好奇抛出自定义异常与 AuraHandledException 时的行为差异。
例如:
public class CustomException extends Exception {
}
如果我在代码中使用此自定义异常:
throw new CustomException('Something went wrong.');
并将其与:
throw new AuraHandledException('Something went wrong.');
我的问题:
在启用 Aura 的 Apex 方法中使用这两种类型的异常时,行为上的主要区别是什么?
我希望获得有关每种方法用例的示例或解释。
在客户端,两种情况下的错误主体都相似。
但是,我注意到 Apex 调试日志中存在差异:
对于 AuraHandledException,调试日志中显示的状态列 “脚本抛出异常。”
对于 CustomException,状态列显示抛出异常时提供的自定义错误消息(例如,“出现问题”)。
CustomException 是用户定义的 Apex 异常类。您可以通过扩展内置的 Exception 类来创建它。
AuraHandledException Salesforce 提供的特定异常类型,旨在处理 Lightning 组件(Aura 或 LWC)中用户友好的错误消息。