He encontrado preguntas aquí Should a retrieval method return 'null' or throw an exception when it can't produce the return value? y Should functions return null or an empty object?, pero creo que mi caso es bastante diferente.¿Debo devolver nulo o lanzar una excepción?
Estoy escribiendo una aplicación que consiste en un servicio web y un cliente. El servicio web es responsable de acceder a los datos y devolver los datos al cliente. Diseño mi aplicación como esta:
// servicio web
try
{
DataTable data = GetSomeData(parameter);
return data
}
catch (OopsException ex)
{
//write some log here
return null;
}
// cliente:
DataTable data = CallGetSomeData(parameter);
if(data == null)
{
MessageBox.Show("Oops Exception!");
return;
}
Bueno, hay una regla de no volver nula. No creo que deba volver a lanzar una excepción y dejar que el cliente atrape SoapException. ¿Cuál es tu comentario? ¿Hay un mejor enfoque para resolver este problema?
Gracias.
Las excepciones le permiten [ajustar sus condiciones posteriores] (http://stackoverflow.com/q/1744176/54262). También están estrechamente relacionados con el lenguaje, el estilo y la convención de codificación; pero no has especificado nada de eso. –
Parece que es asp.net, creo? Debe etiquetarlo en consecuencia. – RMorrisey