Any sort of error that results in an exception should stop execution. cleanup is handled in the finally block after checking the state of the connection.