try ... Lines of Code here ... except end;or
procedure TCustomClass.MethodDoThis() begin ... 20 Lines of code ... end; procedure TCustomClass.MethodDoThis2() begin ... Same 20 Lines of code with slight modification ... end;Both produced code that may have passed end user testing. But both cause long-term problems.
- The first example was just hiding all exceptions, a bad practice. After the code review, it was determined that the try | except block was not even needed.
- The second example was refactored to reduce the need for duplicate code. The duplicate code causes problems when someone has to make changes that would apply to both methods but does not notice the 2nd method and therefore neglects to change it.
Sidenote: Looking forward to reviewing Tokyo release of Delphi soon. With 500+ Bug Fixes with many in areas that impact our system is definitely worth investigating. Security and Quality go hand in hand, and I appreciate work to improve security. Typically, security issues are related to bugs in code that are exploited by hackers.