private void EncloseWithExceptionManagement(ConversationAction actionType, ConvAction action) { try { action(); } catch (Exception e) { bool reThrow = RaiseOnException(actionType, e); if (reThrow) { throw new ConversationException( string.Format("Exception during persistent conversation {0}:{1}", actionType, e.Message), e); } } }