2.10.1 ユーザ定義例外
ユーザ定義例外は,org.omg.CORBA.UserExceptionを継承するファイナルJavaクラスにマッピングされます。そうでない場合,HelperクラスおよびHolderクラスの生成があるIDL struct型のようにマッピングされます。
例外が,ネストされたIDLスコープ内(特に,インタフェース内)で定義される場合,そのJavaクラス名は特殊スコープ内に定義されます。そうでない場合,そのJavaクラス名は,例外のあるIDLモジュールに対応するJavaパッケージのスコープ内に定義されます。
- コードサンプル2-26 ユーザ定義例外のマッピング
//IDL module Example { exception AnException { string reason; }; }; //Generated Java package Example; public final class AnException extends org.omg.CORBA.UserException { public java.lang.String extra; public AnException( ) {...} public AnException(java.lang.String extra) {...} public AnException(java.lang.String _reason, java.lang.String extra) {...} public java.lang.String to String( ) {...} public boolean equals(java.lang.Object o) {...} } public final class AnExceptionHolder implements org.omg.CORBA.portable.Streamable { public Example.AnException value; public AnExceptionHolder( ){} public AnExceptionHolder( final Example.AnException _vis_value) {...} public void _read(final org.omg.CORBA.portable. InputStream input) {...} public void _write(final org.omg.CORBA.portable. OutputStream output) {...} public org.omg.CORBA.TypeCode _type( ) {...} }