public ExitedFrom ReturnDirectly() { try { _interactor.React(); return(ExitedFrom.Try); } catch (Exception) { return(ExitedFrom.Catch); } finally { _closer.Close(); //can't return from a finally block; this won't compile: return ExitedFrom.Finally; } return(ExitedFrom.EndOfMethod); //this code is unreachable. }