Fala Jairo
A historia é o seguinte.
Realmente a utilização de Try catch consome mais memória que a utilização de uma classe de retorno.
Porém....
Esse "aumento" de consumo de memória é muito baixo, talvez isto só teria importância se você estivesse fazendo um sistema de alta performance e processamento (ex: calculo financeiro de milhares de pessoas). Esta história poderia até ser válida quando iniciamos
com o .net (meados de 2002/2003). Mas.. já se passaram 10 anos..rs
Além disso existem muitas vantagens de se utilizar try catch. Segue abaixo algumas:
- Os seus métodos terão a assinatura que devem ter, e não modificada por causa do tratamento de erro.
- Você poderá criar logs muito mais personalizados em cada camada. E para cada camada um tratamento específico.
- Por exemplo, se a sua camada de dados disparar um exception(personalizada) você poderia dizer para web enviar uma resposta padrão do tipo "Contate o Adminstrador". No caso de sua camada de dados disparar uma exceção(personalizada), você poderia dizer para
web enviar um popUp indicando as regras de negócio que não foram atendidas..
Eu escrevi um artigo que pode te ajudar a validar essas informações que passei sobre performance.
http://franciscogoncalves.com/2011/08/02/performance-explorer-vs2010-instrumentation/
Ajudou?
Francisco Gonçalves
Blog: franciscogoncalves.wordpress.com