<statement group="read"> <text/> </statement>
<block group="read">
<error_stop value="yes" rollback="no" action="block_exit"/> <!-- support backwards compatibility -->
<statement group="read"> <text/> </statement>
<statement group="read"> <text/> </statement>
<block group="read">
<error_stop> <!-- new functionality -->
<error sqlcode="204" state="6000">
<statement group="read"> <text/> </statement>
</error>
<error sqlcode="204" state="5000">
<statement group="read"> <text/> </statement>
</error>
<error sqlcode="100">
<goto name="else"/>
</error>
<error sqlcode="101">
<goto block="block1"/>
</error>
<error sqlcode="102">
<action="block_exit"/>
</error>
<error sqlcode="103">
<action="stop_run"/>
</error>
</error_stop>
<statement group="read"> <text/> </statement>
<statement group="read"> <text/> </statement>
</block>
<statement group="read"> <text/> </statement>
</block>
<goto name="else"> <!-- not run unless called in an error_stop, not counted towards metrics but if successful count towards failing statemnt's metrics -->
<statement group="read"> <text/> </statement>
<statement group="read"> <text/> </statement>
<block group="read">
<!-- error stop could go here as well -->
<statement group="read"> <text/> </statement>
<statement group="read"> <text/> </statement>
</block>
</goto>
<block group="read" name="block1"/>
<statement group="read"> <text/> </statement>
<statement group="read"> <text/> </statement>
</block>
<statement group="read"> <text/> </statement>
- gotos can be placed anywhere but a name is required
- gotos are not counted in metrics/statment counts/or towards iterations
- if result of goto is success, count towards failing statemnt's metrics
- if goto has error action, just ignore it
- single statements should be used in error object
if you want something more complex, use gotos
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
<statement group="read"> <text/> </statement>
<block group="read">
<error_stop value="yes" rollback="no" action="block_exit"/> <!-- support backwards compatibility -->
<statement group="read"> <text/> </statement>
<statement group="read"> <text/> </statement>
<block group="read">
<error_stop> <!-- new functionality -->
<error sqlcode="204" state="6000">
<statement group="read"> <text/> </statement>
</error>
<error sqlcode="204" state="5000">
<statement group="read"> <text/> </statement>
</error>
<error sqlcode="100">
<goto name="else"/>
</error>
<error sqlcode="101">
<goto block="block1"/>
</error>
<error sqlcode="102">
<action="block_exit"/>
</error>
<error sqlcode="103">
<action="stop_run"/>
</error>
</error_stop>
<statement group="read"> <text/> </statement>
<statement group="read"> <text/> </statement>
</block>
<statement group="read"> <text/> </statement>
</block>
<goto name="else"> <!-- not run unless called in an error_stop, not counted towards metrics but if successful count towards failing statemnt's metrics -->
<statement group="read"> <text/> </statement>
<statement group="read"> <text/> </statement>
<block group="read">
<!-- error stop could go here as well -->
<statement group="read"> <text/> </statement>
<statement group="read"> <text/> </statement>
</block>
</goto>
<block group="read" name="block1"/>
<statement group="read"> <text/> </statement>
<statement group="read"> <text/> </statement>
</block>
<statement group="read"> <text/> </statement>
- gotos can be placed anywhere but a name is required
- gotos are not counted in metrics/statment counts/or towards iterations
- if result of goto is success, count towards failing statemnt's metrics
- if goto has error action, just ignore it
- single statements should be used in error object
if you want something more complex, use gotos