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.

Código em desconformidade

begin
  raise my_error;
  log('finished'); -- esse código nunca será executado
end;