Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class DomainException : Exception { }
- public class Foo
- {
- public void Throw()
- {
- throw new DomainException();
- }
- }
- public static class FooManager
- {
- public static void InvokeThrow(object foo)
- {
- var methodInfo = typeof(Foo).GetMethod("Throw");
- methodInfo.Invoke(foo, null);
- }
- }
- try
- {
- FooManager.InvokeThrow(new Foo());
- }
- catch(DomainException ex)
- {
- //Do something cool.
- }
- public static void InvokeThrow(object foo)
- {
- try
- {
- var methodInfo = typeof(Foo).GetMethod("Throw");
- methodInfo.Invoke(foo, null);
- }
- catch(TargetInvocationException ex)
- {
- throw ex.InnerException;
- }
- }
- try
- {
- var methodInfo = typeof(Foo).GetMethod("Throw");
- methodInfo.Invoke(foo, null);
- }
- catch(TargetInvocationException ex)
- {
- ExceptionDispatchInfo.Capture(ex.InnerException).Throw();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement