I have a webservice that returns xml.The problem is methods that are executed “deep” in code where a simple return won’t stop program execution.
What happens is I set my xml error message in a catch statement but the code will keep executing through the rest of the outer method and overwrite my xml error response.
Is there a design pattern or best practice to get around this?
Main Program Block SomeClass
execute someMethod() ----> public someMethod()
{
-----> private method()// try / catch error occurred (send back an xml error response)
// code execution continues and does some stuff and generates an xml response
<request>
<success>true</success>
</request>
}
You can re-throw the exception. For example:
An additional piece of advice: When re-throwing an exception, use
throw;, notthrow ex;, in order to preserve the stack trace. See this for some more information on the subject.