XMultiComponentFactory.createInstanceWithContext definitely only
throws com.sun.star.uno.Exception as far as the java API is
concerned. There may be other ways to get at the actual data (as
discussed below), but I'm unable to test because of the previos
message I just posted - I can't seem to get the Bootstrap working on
OOo 1.1.4 at all.

Should I open a bug on this the Exception stuff? It is generally
(although I don't know the full infrastructure of the OOo API) a very
poor practice to throw only one exception type for several types of
errors.

thanks for all of everyone's attention regarding these issues,
mike


--- Mathias Bauer <[EMAIL PROTECTED]> wrote:

> Mike Traum wrote:
> > Dealing with the error is my issue.
> > 
> > XMultiComponentFactory.createInstanceWithContext throws only one
> > exception type, com.sun.star.uno.Exception. How can I tell what
> error
> > caused the Exception? If it is because of the version problem,
> I'd
> > like to report that to the user. If it is some other connectivity
> > problem, report that.
> 
> I'm not sure if this is true. The declaration says that it can
> throw
> css.uno.Exception. But this should be seen as a declaration that it
> can
> throw *any* exception (because css.uno.Exception is the base class
> of
> them). This is reasonable for such a generic method, the failure of
> a
> service installation can have a lot of reasons.
> 
> I don't know the details, but I would expect that in case the
> service is
> not available (because it is not installed) you should get an
> exception
> that expresses this fact, not just a "general" one. If this doesn't
> happen it could be seen as a bug (IMHO).
> 
> But I wouldn't expect to get an exeption that is telling something
> about
> a "version problem", because the availability of a UNO service is
> not
> related to any "version" of an *application*.
> 
> This should be clear because UNO is an application independent
> concept.
> It's a runtime system that is *used* by applications. You might be
> able
> to have means to ask for the version of a particular application
> (f.e.
> an explicit API for this or a query for a configuration setting),
> but
> this is nothing that UNO itself can know, and service instantiation
> using the component context or its service factory is something
> that
> usually is completely done by the UNO runtime without any
> application
> code involved.
> 
> But there are even practical reasons why the concepts of service
> availability and application version are two concepts that don't
> match.
> As an example, services are very often provided as single libraries
> that
> can be installed independently from the rest. So it is possible to
> deploy UNO components into a particular installation of OOo that
> this
> installation (or more concrete: its version) usually doesn't
> provide. If
> you took the version number as indication for the available
> services and
> then stopped your program if the version doesn't match you would
> abort
> your program for no real reason.
> 
> There is only one reasonable way to find out if a service is
> available:
> ask for it. If you don't get it, it isn't there. The reason may be
> that
> it isn't installed at all, something in the registration is wrong,
> some
> necessary libraries are missing or many other things. If the reason
> is
> the first one: all that UNO can tell you is that it isn't there. If
> this
> happens because you have "the wrong application version" or because
> its
> installation is corrupted or something else is out of the scope of
> UNO.
> 
> > Is this actually an instance of subclass of Exception? If so,
> what
> > are the possibilities for
> > XMultiComponentFactory.createInstanceWithContext?
> > 
> > Or, will this be shown by Exception.getCause()? If so, what are
> the
> > possible Throwables that getCause will return for
> > XMultiComponentFactory.createInstanceWithContext?
> > 
> > Or, am I limited to Exception.getMessage for reporting to the
> user?
> 
> If there is a message that would be better than nothing. :-)
> 
> As I wrote, I don't know which particular exception you get here, I
> would expect to get a css.lang.ServiceNotRegisteredException. Maybe
> it's
> described in the Developers Guide?
> 
> Best regards,
> Mathias
> 
> -- 
> Mathias Bauer - OpenOffice.org Application Framework Project Lead
> Please reply to the list only, [EMAIL PROTECTED] is a spam sink.
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 



                
__________________________________ 
Do you Yahoo!? 
Yahoo! Personals - Better first dates. More second dates. 
http://personals.yahoo.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to