Postei aqui por julgar isto como básico, embora ja trabalhe com java há muitos anos, nunca tive de resolver tal problema…
Participo de um projeto que não há necessariamente um banco de dados padronizado…
ou seja, o banco em si pode ser configurado via propriedades para trabalhar com alguns sgbds e drivers existentes…
porém surgiu o pipino a seguir…
Necessito capturar exceções SQL em geral…
checagem de integridade das contraints, para exemplificar
Se eu usar mysql
ele irá disparar a exceção
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException
o problema é: se eu quiser generalizar, tenho que dispor uma estrutura capaz de lançar genéricamente exceções deste tipo, de modo que o sistema em si pudesse tratar esta mesma exceção para qualquer banco que for implementado…
Nunca, nestes 12 anos de desenvolvimento em java, necessitei trabalhar diretamente com exceções “criadas”, e pelo que andei pesquisando, aparentemente a api não generaliza “uma” exceção abstract, por exemplo, deste tipo citado acima…
até SQLIntegrityConstraintViolationException não é abstrata
e se no meu código houver a captura de tal exceção… quando é gerada por exemplo uma a partir de mysql, o java ignora o bloco catch… (e com todo sentido!)
O que busco aqui é alguma sugestão, alternativa ou até mesmo gambiarra para contornar este problema de modo que eu não precise esculhambar o código existente…
Abraços e grato a quem ajudar!