Comandos como return
, exit
, continue
, e raise
alteram o fluxo para fora do bloco atual.
Geralmente, qualquer comando em um bloco que estiver depois de um desses comandos é código desnecessário esperando para confundir alguém desavisado.
begin raise my_error; log('finished'); -- esse código nunca será executado end;