User-defined exceptions

User-defined exceptions are defined in the component’s IDL definition. For example, you might define OverdrawnException to be thrown by methods that withdraw money from a bank account. In Java, all user-defined exceptions extend org.omg.CORBA.UserException.

In Java, IDL user-defined exceptions are checked exceptions; if the IDL definition of a method contains a raises clause, the equivalent Java stub method will have a throws clause that lists the equivalent Java exceptions. For example, consider the IDL definition below:

module MyModule {
  exception MyException
  {
    string reason;
  };

  interface MyIntf {
    boolean throwException 
    ( in boolean yes_no )
    raises (MyException);
  };
};

The equivalent Java throwException method is:

boolean throwException (boolean yes_no) 
   throws MyModule.MyException;