Inside your parent page (called function) make sure that the exception is not being swallowed, that way you can catch the error from the caller and handle it appropriately.
try{
this.Page.GetType().InvokeMember(stepGuide.SaveMethod, System.Reflection.BindingFlags.InvokeMethod, null, this.Page, null);
AppPageMethods.RedirectToPage(button.CommandArgument);
}
catch(Exception e)
{
//Do something else than redirect here
}
Also, if you are specific exceptions, than catching and handling those would be ideal as appose to the general Exception.