public void function1() { try { //This should trap error. this.function2(); } catch (ArgumentException ae) { MessageBox.Show("An error occurred! -> " + ae.Message); } } public bool function2() { string lc_value = ""; if (lc_value == "") { throw new ApplicationException("My Error occurred!"); } //Continue normal operation. return true; }I would expect that when the throw new ApplicationException() was triggered, that my CATCH block would gain control and display my custom error message. However, what actually happens is that a VS error dialog displays my custom message and my CATCH block is not called.