如何在salesforce中创建自定义错误页

如何在salesforce中创建自定义错误页,salesforce,apex,visualforce,Salesforce,Apex,Visualforce,如果salesforce站点中发生任何错误,它会显示带有类名的行号(请参阅下图),我们不想向用户显示这些行号 相反,我想显示自定义页面,在该页面中,类名、行号等详细信息将保存在对象中,或者通过电子邮件发送给开发人员 出于安全原因,我们希望对用户隐藏详细信息。甚至我在Site->“Error Pages”中也没有找到为apex错误添加自定义页面的选项 您可以为您认为可能发生异常的代码设置一个try-catch块。 为了获取带有类名和行号的错误日志的堆栈跟踪,我们有一个名为getStackTrace

如果salesforce站点中发生任何错误,它会显示带有类名的行号(请参阅下图),我们不想向用户显示这些行号

相反,我想显示自定义页面,在该页面中,类名、行号等详细信息将保存在对象中,或者通过电子邮件发送给开发人员

出于安全原因,我们希望对用户隐藏详细信息。甚至我在Site->“Error Pages”中也没有找到为apex错误添加自定义页面的选项


您可以为您认为可能发生异常的代码设置一个try-catch块。 为了获取带有类名和行号的错误日志的堆栈跟踪,我们有一个名为
getStackTraceString()
的方法。该方法以字符串形式返回错误的堆栈跟踪

例如:

try {
    Merchandise__c m = [
           SELECT Name
                , Total_Inventory__c
             FROM Merchandise__c
            LIMIT 1
    ];       
    Double inventory = m.Total_Inventory__c;
} catch(Exception e) {
    System.debug('Exception type caught: ' + e.getTypeName());    
    System.debug('Message: ' + e.getMessage());    
    System.debug('Cause: ' + e.getCause());    // returns null
    System.debug('Line number: ' + e.getLineNumber());    
    System.debug('Stack trace: ' + e.getStackTraceString());    
}
请参阅链接以查看有助于跟踪错误的其他异常方法

如果你需要更多的帮助,请告诉我。谢谢:)