Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Oct 2002 13:14:22 -0400
From:      "Kevin B. Hendricks" <kevin.hendricks@sympatico.ca>
To:        dev@porting.openoffice.org, Martin Blapp <mb@imp.ch>
Cc:        <dev@porting.openoffice.org>, <openoffice@freebsd.org>, <kan@freebsd.org>
Subject:   Re: [porting-dev] FreeBSD: Uncatched exception problem
Message-ID:  <200210101314.22210.kevin.hendricks@sympatico.ca>
In-Reply-To: <20021010175030.R15308-100000@levais.imp.ch>
References:  <20021010175030.R15308-100000@levais.imp.ch>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Martin,

AFAIK from reading your old post with a fuller backtrace:

The throw is done in sfx2/source/view/frmload.cxx in detect and the catch 
should come in:

framework/source/dispatch/basedispatcher.cxx in the routine:

 BaseDispatcher::implts_detectType( const css::util::URL&                                  
aURL        , css::uno::Sequence< css::beans::PropertyValue >& lDescriptor 
, sal_Bool   bDeep       )


Here are the try and catch pieces:

        try
        {
            sTypeName = xDetection->queryTypeByDescriptor( lDescriptor, 
bDeep );

(parts cut out here)

        }
        catch( css::lang::WrappedTargetRuntimeException& exPacked )
        {
            // Handle occured exceptions during type detection.
            css::ucb::CommandAbortedException exAbort;
            if( exPacked.TargetException >>= exAbort )
            {
                sTypeName = ::rtl::OUString();
            }
            else
            {
                throw;
            }
        }

So it would be interesting to change this catch to catch everything just to 
make sure the stack walkback to find the catch is close to working and 
then check the type of the exception.

I would simply add debug print statements to these two methods to confirm 
if the catch is made but somehow it is not an exAbort and so another throw 
is done.  If you do not get the right catch, try changeing it to catch 
everything "..." and the print out the type of whatever is caught.

Please let me know what you see.

Kevin


On October 10, 2002 11:51, Martin Blapp wrote:
> Hi,
>
> > I have learned to NOT trust all breakpoints being reported when hit. 
> > I have seen the problem way to much (as least on ppc).  Also single
> > stepping though an app may not always align with the source code
> > (especially in C++ which has a tendency to put mutliple paths to reach
> > implicit destrcutor calls that don't really exist in the source code.
> >
> :P
> :
> > Can you refresh my memory on how to recreate this bug on my own box? 
> > I would like to add debug print statements right beofre the the intial
> > throw and when that throw whould be caught to make sure the exception
> > type is not the issue.
>
> It does only happen on BSD ... Just type file://xxx in the location bar.
>
> /xxx should be a non existant file.
>
> Martin
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@porting.openoffice.org
> For additional commands, e-mail: dev-help@porting.openoffice.org


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-openoffice" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210101314.22210.kevin.hendricks>