Discrepo, con un try/catch si se obtienen los errores detallados, lo que ocurre es que muchas veces en el manejo de errores se pierde el InnerException por ejemplo
Esos fragmentos de código no siempre son iguales
Saludos
			Código (csharp) [Seleccionar] 
try
{
    
}
catch(Exception ex)
{
    throw ex;
}!=
Código (csharp) [Seleccionar] 
try
{
    
}
catch
{
    throw;
}Esos fragmentos de código no siempre son iguales

Saludos
 Para fortuna de los que preguntan en este subforo, hay programadores en 