On 04/03/2012 03:11 PM, Noel Grandin wrote:
I'm working my way through the codebase, translating the easy stuff.
What is the cleanest translation of this:
Reference< graphic::XGraphicProvider > xGraphProv(
xFact->createInstance( C2U("com.sun.star.graphic.GraphicProvider")),
uno::UNO_QUERY_THROW );
Normally I would use
Reference< graphic::XGraphicProvider > xGraphProv(
graphic::GraphicProvider::create(xContext) );
But that doesn't throw an exception on error.
It does throw. The constructors are guaranteed to either return a
non-null reference or throw an exception (the default constructors all
throw com.sun.star.uno.DeploymentException, which is derived from
RuntimeException; explicit constructors can in principle also throw
other exceptions).
So you'd probably also come across code like
Reference<X> x(...createInstance...);
if (x.is()) { ... }
that you can simplify by using a constructor and removing the x.is() check.
Stephan
_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice