I'm facing a problem at work on a very big system which, because of server performances and ressources, can't have exceptions managment. Instead, the system architects have decided to return Nothing when, for exemple, a database connector finds nothing. System is coded in VB.NET.
I am aware that returning and passing Nothing is normally a bad habbit for various reasons such as a violation of some of the solid principles, some noise in the code for null checks and addition of fragility because of NullPointerExceptions that can be passed-by. All that alongside the fact that returning Nothing can mean a hell lot of things (did it crash?, did it encountered an error with one of its dependencies?, was my parameters valid?...) The book "Clean code" from Robert C. Martin (or Uncle Bob) even talks about it saying it's not a good practice.
The question Alternatives to returning NULL is not only old but also doesn't give any good alternatives on what to do instead of returning Nothing.
There's also the Null Object pattern. From what I read on the subject the community seems to be divided in two camps, those who discourage its use saying it's just hiding a faulty design and those who says it's actualy a solution.
I just want to propose a clean, professional and solid solution. What would be a good alternative that implies clean codification et design while not taking too much of those precious server ressources? Since I am fairly new in the professional domain I would like to know what a guru/expert would do and how would he/she face the problem. I'm seeking
Thanks a lot (sorry, english is not primary language)