Ok, here is what I see in output window

'w3wp.exe' (Managed): Loaded 'DynamicProxyGenAssembly2'
'w3wp.exe' (Managed): Loaded 'CastleDynProxy2.dll'
'w3wp.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_32\ISymWrapper
\2.0.0.0__b03f5f7f11d50a3a\ISymWrapper.dll'
A first chance exception of type
'dnnSphere.Exceptions.ValidationException' occurred in
dnnSphere.Meta.DLL
A first chance exception of type
'System.Reflection.TargetInvocationException' occurred in mscorlib.dll

and I am catching it like this. I have a workaround where I look at he
inner exception.

 // *** Handles any  errors that are raise from the property setters
                catch (ValidationException ve)
                {
                    this.HandleUnbindingError(Item, new
ValidationErrorException(ve.Message));
                }
                catch (Exception ex)
                {
                    //this is a hack to NHibernate proxy exceptions
                    if (ex.InnerException is ValidationException)
                    {
                        this.HandleUnbindingError(Item, new
ValidationErrorException(ex.InnerException.Message));
                    }
                    else
                    {
                        this.HandleUnbindingError(Item, ex);
                        ResultFlag = false;
                    }

                }

On Dec 16, 7:34 am, epitka <[email protected]> wrote:
> Will do, it will take several hours before I get back to it. Got to
> take kids to school.
>
> On Dec 16, 7:16 am, "Richard \(Google\)" <[email protected]>
> wrote:
>
> > Can you post a stack trace?
>
> > From: first last
> > Sent: Tuesday, December 16, 2008 1:02 PM
> > To: [email protected]
> > Subject: [nhusers] Re: CastleLazyInitializer does not propagate exceptions 
> > correctly
>
> > 2.0
>
> > --------------------------------------------------------------------------- 
> > -----
> > From: Richard (Google) <[email protected]>
> > To: nhusers <[email protected]>
> > Sent: Tuesday, December 16, 2008 4:30:44 AM
> > Subject: [nhusers] Re: CastleLazyInitializer does not propagate exceptions 
> > correctly
>
> > Hi epitka,
>
> > What version of NH are you using?
>
> > This was sorted for V2.0 I think.
>
> > Regards,
> >     Richard
>
> > --------------------------------------------------
> > From: "epitka" <[email protected]>
> > Sent: Monday, December 15, 2008 11:07 PM
> > To: "nhusers" <[email protected]>
> > Subject: [nhusers] CastleLazyInitializer does not propagate exceptions
> > correctly
>
> > > This code in CastleLazyInitializer returns generic Exception with a
> > > generic "Target of invoication ..." message. I am rasing
> > > ValidationException in my code yet I cannot catch it as
> > > ValidationException only as Exception. My exception is actually in
> > > innerException. How am I supposed to catch custom exceptions?
>
> > > /// <summary>
> > > /// Invoke the actual Property/Method using the Proxy or instantiate
> > > the actual
> > > /// object and use it when the Proxy can't handle the method.
> > > /// </summary>
> > > /// <param name="invocation">The <see cref="IInvocation"/> from the
> > > generated Castle.DynamicProxy.</param>
> > > public virtual void Intercept(IInvocation invocation)
> > > {
> > > try
> > > {
> > > if (_constructed)
> > > {
> > > // let the generic LazyInitializer figure out if this can be
> > > handled
> > > // with the proxy or if the real class needs to be initialized
> > > invocation.ReturnValue = base.Invoke(invocation.Method,
> > > invocation.Arguments, invocation.Proxy);
>
> > > // the base LazyInitializer could not handle it so we need to
> > > Invoke
> > > // the method/property against the real class
> > > if (invocation.ReturnValue == InvokeImplementation)
> > > {
> > > invocation.ReturnValue = invocation.Method.Invoke
> > > (GetImplementation(), invocation.Arguments);
> > > return;
> > > }
> > > else
> > > {
> > > return;
> > > }
> > > }
> > > else
> > > {
> > > // TODO: Find out equivalent to CGLIB's 'method.invokeSuper'.
> > > return;
> > > }
> > > }
> > > catch (TargetInvocationException tie)
> > > {
> > > // Propagate the inner exception so that the proxy throws the same
> > > exception as
> > > // the real object would
> > > throw ReflectHelper.UnwrapTargetInvocationException(tie);
> > > }
> > > }
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to