Jak dynamicznie wykonywać komendę PostgreSQL RAISE

Jak podnieść błąd z instrukcji SQL PostgreSQL, jeśli spełniony jest jakiś warunek?
Próbowałem kodu poniżej, ale dostałem błąd.

CREATE OR REPLACE FUNCTION "exec"(text)
  RETURNS text AS
$BODY$ 
    BEGIN 
      EXECUTE $1; 
      RETURN $1; 
    END; 
$BODY$
  LANGUAGE plpgsql VOLATILE;

-- ERROR:  syntax error at or near "raise"
-- LINE 1: raise 'test' 

SELECT exec('raise ''test'' ') WHERE TRUE

W prawdziwym zastosowaniuTRUE zostaje zastąpiony przez jakiś warunek.

Aktualizacja

Próbowałem rozszerzyć odpowiedź, aby przekazać parametry komunikatu wyjątku. Wypróbowano kod poniżej, ale wystąpił błąd składniowy. Jak przekazać parametry wiadomości?

CREATE OR REPLACE FUNCTION exec(text, variadic ) 
  RETURNS void LANGUAGE plpgsql AS 
$BODY$  
BEGIN  
   RAISE EXCEPTION  $1, $2;  
END;  
$BODY$; 

SELECT exec('Exception Param1=% Param2=%', 'param1', 2 ); 

questionAnswers(1)

yourAnswerToTheQuestion