Una idea es usar try catch anidados para saber exactamente que error te ha dado
Código:
try
{
// Obtener conexion
try
{
// Comprobar si existe el usuario
if(fueBien)
{
try
{
// Insertar usuario
}
catch
{
// Error insertando usuario
}
}
}
catch
{
// Error comprando si existe el usuario
}
}
catch
{
// Error consiguiendo conexion
}
finally
{
}
Aunque el código parezca mucho mas "cargado", es una forma de saber exactamente que pasó, en todo momento.
S!