Tratamento de Chava Primaria Duplicada na SQLException

Tenho a seguinte necessidade em um sistema que estou desenvolvento, tenho um bloco try catch que irá efetuar a inclusar de um registro em uma tabela, só que quando na inclusão do resgistro ocorrer uma violação de chave primaria isto é um Duple val Index, que ele ao inves de inserir este registro efetue sua atualização, sei que podem ocorrer varios outros erros, mas como poderiia trarar um erro em especifico. Sei que posso fazer isso pegando o errorCode do banco de dados, mas dependendo do banco de dados que o cliente estiver utilizando, Oracle, MS SqlServer, o codigo de erro será diferente. Alguem já fez isso ?

Acho que só buscando o registro antes pela chave mesmo. Se tiver vc lança uma ChaveDuplicadaException…
Também gostaria que existisse um mecanismo melhor para isso.

[]'s

bom…eu resolvi isso criando um metodo que checa se tal registro existe, se existe, então eu atualizo, se não existe eu insiro.

	public int add() throws Exception
	{
		String strSql = "";
// Se não existe, então insere, senão atualiza		
if(!this.existe())
		{
			strSql = "insert into LOJA(LOJAID, LOJANOME) Values(" + this.LOJAID + ", '" + this.LOJANOME + "')";
		}
		else
		{
			strSql = "Update LOJA Set LOJANOME='" + this.LOJANOME + "' where LOJAID=" + this.LOJAID;
		}
		return stmt.executeUpdate(strSql);
	}

Se não entender, manda uma nova mensagem que eu simplifico.

André Valdestilhas