tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:独自の例外クラス

独自の例外クラスの使い方を覚えました。
次のような感じで宣言するとインスタンスを生成できるとのことです。

public class MyException extends Exception {}

基本的にExceptionエラーを発生させることはできませんが、このように例外クラスを用意することで任意のタイミングでExceptionエラーを発生させることができるみたいです。

検証時のソースは下記の通りです。

Controller Class

public with sharing class MyExceptionSampleController {
	
	// 独自の例外クラス
	public class MyException extends Exception {}
	
	/*
	 * コンストラクタ
	 * @param	: なし
	 * @return	: なし
	 */
	public MyExceptionSampleController() {
		System.debug('◆◆◆◆MyExceptionSampleController:START');
		
		MyException ex = new MyException();
		ex.setMessage('独自の例外クラス処理です。');
		throw ex;
		
		System.debug('◆◆◆◆MyExceptionSampleController:END');
	}
}

Page

<apex:page Controller="MyExceptionSampleController" showHeader="true" sidebar="false">
	<apex:form >
		<apex:outputText value="This is your new Page" />
	</apex:form>
</apex:page>

補足

Classを宣言するときは"MyException"や"BaseException"のように末尾にExceptionとつける必要があります。

参考サイト

Exception Class

http://goo.gl/UmMqg