So does this mean that the function *will* return false (as expected)
even in the event of an exception?
That confirms then that the code is correct. Thanks.



Benj



On Sep 14, 5:19 pm, Raghupathi Kamuni <[email protected]> wrote:
> bool IsQueryRunOK = false;
>
> IsQueryRunOK is set to false by default :)
> On Mon, Sep 14, 2009 at 12:41 PM, 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

Reply via email to