【Salesforce】ApexPages.addMessage can only be called from a Visualforce page Class.クラス名.メソッド名

【Salesforce】ApexPages.addMessage can only be called from a Visualforce page Class.クラス名.メソッド名

Salesforceの開発をしているとき、エラーが発生しました。

メッセージはこんな感じです。

メッセージの内容としては、ApexPages.addMessageを呼べるのはVisualforceページだけだよ、という感じですね。

どんな状況で出たかというと、バッチ処理の内部で別クラスの共通メソッドを使ったときに出ました。

共通メソッドではエラーが発生した際に画面へメッセージを表示していたのですが、バッチ処理ではVisualforceを使っていないため、エラーとなりました。

呼んでくれと指定されたメソッドにこんな罠があるとは。

ページが存在する場合のみメッセージを追加するように修正しました。

共通のメソッドが存在する場合は要注意ですね。

No comments.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です