Working on a project where a sequential set of methods must be run every x seconds. Right now I have the methods contained within another ‘parent method’, and just sequentially call them right after another.
class DoTheseThings() { DoThis(); NowDoThat(); NowDoThis(); MoreWork(); AndImSpent(); }
Each method must run successfully without throwing an exception before the next step can be done. So now I wrapped each of those methods with a while and try..catch, then in the catch execute that method again.
while( !hadError ) { try { DoThis(); } catch(Exception doThisException ) { hadError = true; } }
This seems smelly and not very dry. Is there a better way to do this so I’m not wrapping any new functionality in the same methods. Isn’t some kind of Delegate collection the proper way to implement this?
Is there a more ‘proper’ solution?
1 Answer