Exception plpgsql[Resolvido]

CREATE TABLE TABELA(
	nome char(1)
);
Se o parâmetro de entrada for '12', por exemplo, dá um erro:
"value too long for type character(1)" isso porque '12' ultrapassa o limite de caractere do campo nome.
Alguém sabe que exceção uso para tratar esse erro?
Tentei  INVALID_PARAMETER_VALUE e  INVALID_LIMIT_VALUE, mas não deu certo.

CREATE OR REPLACE FUNCTION inserir(char(1))RETURNS BOOLEAN AS
$$
	BEGIN
		INSERT INTO TABELA(nome) VALUES($1);
		IF FOUND THEN				
			RETURN TRUE;
		ELSE
			RETURN FALSE;
		END IF;
                EXCEPTION WHEN INVALID_PARAMETER_VALUE THEN
				RAISE NOTICE 'ERRRO';			
	END;
$$LANGUAGE PLPGSQL;

CREATE OR REPLACE FUNCTION inserir(char(1))RETURNS BOOLEAN AS
$$
	BEGIN
		INSERT INTO TABELA(nome) VALUES($1);
		IF FOUND THEN				
			RETURN TRUE;
		ELSE
			RETURN FALSE;
		END IF;
                EXCEPTION WHEN INVALID_LIMIT_VALUE THEN
				RAISE NOTICE 'ERRRO';			
	END;
$$LANGUAGE PLPGSQL;
Alguém tem uma ideia?
Encontrei uma exceção genérica - OTHERS.

CREATE OR REPLACE FUNCTION inserir(char(1))RETURNS BOOLEAN AS
$$
	BEGIN
		BEGIN
			INSERT INTO TABELA(nome) VALUES($1);
			IF FOUND THEN
				RETURN TRUE;
			ELSE				
				RETURN FALSE;
			END IF;
			EXCEPTION WHEN OTHERS THEN				
				RETURN FALSE;
		END;			
	END;
$$LANGUAGE PLPGSQL;