A PL/pgSQL function catches an error in an EXCEPTION block. What does the surrounding BEGIN...EXCEPTION block do to the work done before the error inside that block?
BEGIN
INSERT INTO log VALUES (1);
RAISE EXCEPTION 'boom';
EXCEPTION WHEN others THEN
RAISE NOTICE 'caught';
END;