You must use
[[ statement ]] || { echo problem found ; exit 1; }
The difference is that the brace syntax doesn't screatecreate a subshell, which means the exit 1 applies to the current shell. If you use (exit 1) the subshell exits but the current shell continues running.