Apexで用意されている例外の種類には、Visualforceページで使用可能なものがあります。
- NoDataFoundException
- NoAccessException
これらを利用して、Visualforceページを開いた時にSalesforce標準のエラーページを表示することができます。

手順
Visualforceページのコントローラクラスを作成し、コンストラクタ実行時に例外を発生させます。
MyPageController.cls
public class MyPageController {
public MyPageController() {
throw new NoDataFoundException(); // "データがありません"エラーを表示
//throw new NoAccessException(); // "アクセス権がありません"エラーを表示
}
}
MyPage.page
<apex:page controller="MyPageController">
</apex:page>
実行結果
/apex/MyPage へアクセスすると、Salesforce標準のエラー画面が表示されます。
補足
- 通常はApexエラーが発生すると通知メールが送信されますが、この場合は送信されません。
- 以下のコードのように、コンストラクタ実行時以外のタイミングで例外を発生させるとエラーが発生します(この場合はApexエラーの通知メールが送信されます)。
MyPageController.cls
public class MyPageController {
public void init(){
throw new NoDataFoundException();
}
}
MyPage.page
<apex:page controller="MyPageController" acition="{!init}">
</apex:page>