Thanks! However, I think the best idea is to use generic Exceptions, if I try to use the CookComputing.XmlRpc Exceptions I need to compile ALL my application with CookComputing.dll and I'm not looking that, that's why I'm working with plugins to just compile CookComputing.XmlRpc in the plugins and not in all the application.
Thanks for these suggestions! Pablo El mar, 29-06-2004 a las 09:06, Arild Fines escribió: > [EMAIL PROTECTED] wrote: > > Cool! Thanks! > > > > Now, how can I get sure that the InnerException is a > > XmlRpcFaultException or a XmlRpcMissedSomething?, I'm trying with this: > > > > } catch(TargetInvocationException e) { > > if(e.InnerException.GetType().ToString() == > > "CookComputing.XmlRpc.XmlRpcFaultException") { > > Console.WriteLine("yes"); > > } > > > > But I don't think it's the correct way/code, any suggestions? > > You might want to take advantage of the fact that Type.InvokeMember actually > performs virtual dispatch based on the runtime type of the object *AND* all > of the parameters, IE, it performs double/triple/ntuple dispatch. > > That means the following will work the way you want it to: > > catch( TargetInvocationException e ) > { > Type t = this.GetType(); > t.InvokeMember( "HandleException", BindingFlags.InvokeMethod | > BindingFlags.Instance | BindingFlags.NonPublic, null, > this, new object[]{ e } ); > } > > // ... > > private void HandleException( CookComputing.XmlRpc.XmlRpcFaultException e ) > { > //... > } > > private void HandleException( FooException e ) > { > //... > } > > private void HandleException( Exception e ) > { > // called if there are no other matching signatures > } > > Of course, it isn't particularly fast... > > -- > Arild > > AnkhSVN: http://ankhsvn.tigris.org > Blog: http://ankhsvn.com/blog > IRC: irc://irc.freenode.net/ankhsvn > > "Weaseling out of things is good. It's what separates us from the other > animals....except weasels." -- Homer Simpson -- Pablo Fischer Sandoval (pablo [arroba/at] pablo.com.mx) Fingerprint: 5973 0F10 543F 54AE 1E41 EC81 0840 A10A 74A4 E5C0 http://www.pablo.com.mx http://www.debianmexico.org
signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente