刚接触java,做一个关于Corba的项目,今天遇到一个异常不知道怎么捕获,哪位给看一下,先谢过了!!!异常提示:
十一月 08, 2012 3:17:45 下午 com.sun.corba.se.impl.corba.TypeCodeImpl copy
警告: "IOP00810247: (MARSHAL) Default union branch not expected"
org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 247  completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.unexpectedUnionDefault(Unknown Source)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.unexpectedUnionDefault(Unknown Source)
at com.sun.corba.se.impl.corba.TypeCodeImpl.copy(Unknown Source)
at com.sun.corba.se.impl.corba.TypeCodeImpl.copy(Unknown Source)
at com.sun.corba.se.impl.corba.AnyImpl.read_value(Unknown Source)
at com.sun.corba.se.impl.corba.TypeCodeImpl.copy(Unknown Source)
at com.sun.corba.se.impl.corba.TypeCodeImpl.copy(Unknown Source)
at com.sun.corba.se.impl.corba.TypeCodeImpl.copy(Unknown Source)
at com.sun.corba.se.impl.corba.TypeCodeImpl.copy(Unknown Source)
at com.sun.corba.se.impl.corba.TypeCodeImpl.copy(Unknown Source)
at com.sun.corba.se.impl.corba.TypeCodeImpl.copy(Unknown Source)
at com.sun.corba.se.impl.corba.AnyImpl.read_value(Unknown Source)
at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_any(Unknown Source)
at com.sun.corba.se.impl.encoding.CDRInputStream.read_any(Unknown Source)
at CosNotification.StructuredEventHelper.read(StructuredEventHelper.java:81)
at CosNotification.EventBatchHelper.read(EventBatchHelper.java:53)
at AlarmIRPConstDefs.AlarmInformationSeqHelper.read(AlarmInformationSeqHelper.java:49)
at AlarmIRPSystem._AlarmInformationIteratorStub.next_alarm_informations(_AlarmInformationIteratorStub.java:42)
at aApply.OMCAlarm.main(OMCAlarm.java:136)其中next_alarm_informations声明如下:
boolean next_alarm_informations (short how_many, CosNotification.EventBatchHolder alarm_informations) throws AlarmIRPSystem.NextAlarmInformations, ManagedGenericIRPSystem.InvalidParameter;
只有两种异常,我还加了一个Exception,都捕获不到。

解决方案 »

  1.   

    catch里就按声明
    boolean next_alarm_informations (short how_many, CosNotification.EventBatchHolder alarm_informations) throws AlarmIRPSystem.NextAlarmInformations, ManagedGenericIRPSystem.InvalidParameter;
    给的两种异常捕获的,另外我还加了个Exception
      

  2.   

    出错的代码都是idl编译成的java,我跟踪过都是停在一下函数中的
      public static CosNotification.StructuredEvent read (org.omg.CORBA.portable.InputStream istream)
      {
        CosNotification.StructuredEvent value = new CosNotification.StructuredEvent ();
        value.header = CosNotification.EventHeaderHelper.read (istream);
        value.filterable_data = CosNotification.PropertySeqHelper.read (istream);
        value.remainder_of_body = istream.read_any ();      
        return value;
      }
    这一句
    value.remainder_of_body = istream.read_any ();
    在往下就Unknown Source了,read_any ()鼠标放上后,提示声明中没有异常,但是到这句就出问题
      

  3.   

    解决,换用jacorb实现方案后解决了
      

  4.   

    我也碰到了相同的问题,是用jacorb的idl编译器重新编译idl文件吗? 多谢楼主!