It looks to me like your re-throwing the exception once caught - therefore your return statement would never be reached.
If you want to return false on exceptions, don't rethrow. On Sep 14, 8:11 am, Processor Devil <[email protected]> wrote: > Well, it depends on situation... > If there is exception, the IsQueryRunOK isn't set and it will return null > (not so good), so you should specify IsQueryRunOK as false on the end of > exception handle :) > > 2009/9/14 Subrato <[email protected]> > > > > > You should put that return statement in finally block that would help you > > to return no matter what the situation. > > (I am answering this without actually running or debugging the code so > > excuse me if that doesn't help) > > > On Sep 13, 2009, at 10:25 PM, Benj Nunez <[email protected]> wrote: > > >> Hello everyone, > > >> This has been nagging me for quite some time now, perhaps you can > >> enlighten me on this. > >> You see I have a function that returns either true or false. But what > >> will happen if underneath > >> this function, there's a call that would raise an exception? > > >> public bool runQueryEx(String AQueryString) > >> { > >> bool IsQueryRunOK = false; > > >> using (OleDbCommand cmd = new OleDbCommand(AQueryString, > >> oleconn)) > >> { > >> cmd.CommandType = CommandType.Text; > > >> try > >> { > >> cmd.ExecuteNonQuery(); > >> IsQueryRunOK = true; > >> } > >> catch (System.InvalidOperationException) > >> { > >> //MessageBox.Show(ioe.Message, "Error", > >> // MessageBoxButtons.OK, MessageBoxIcon.Error); > >> throw; > >> } > >> catch (System.Exception) > >> { > >> //MessageBox.Show(e.Message, "Error", > >> // MessageBoxButtons.OK, MessageBoxIcon.Error); > >> throw; > >> } > >> } > > >> return IsQueryRunOK; // will it return false in case > >> of exception ? > >> } > > >> When debugging, I noticed that the last line: > > >> return IsQueryRunOK; > > >> seems to get skipped *whenever* there's an exception. Is this normal? > >> Is it implied > >> that since it's a function it should return a value? Or just to be > >> safe (and for peace of mind), should I use a finally block? What > >> would you recommend? > > >> Benj
