Pomijam Javę i inne języki javo-podbne, gdzie to jest niewykonalne. Bardziej chodzi mi o PHP, Ruby itp. (dlatego też ten temat jest tutaj, a nie w dziale PHP).
Dzisiaj przy CR'ce ktoś mi zaproponował, żeby zamiast walić wyjątki typu: TooManyAttemptsException, InvalidVerificationCodeException zwracać obiekt zawierający kod błędu (obiekt, zamiast inta, po to, żeby móc w razie czego przekazać kontekst). W PHP jest to legitne, bo wystarczy nie zadeklarować typu zwracanego i róbta co chceta.
Coś mi się nie bardzo to podoba. Juz bym wolał zwrócić boola, jeżeli metoda zrobiła, to co miała zrobić. W internetach piszą, że wyjątki powinny być zarezerwowane dla wyjątkowych sytuacji. Ja się spodziewam, ze użytkownik może podać zły kod, albo zrobi to za dużo razy, więc nie potrafiłem znaleźć na to kontrargumentu poza tym, że hackowanie typu zwracanego przez nie deklarowanie go i używanie jakiś własnych rozwiązań zamiast prawilnych wyjątków jakoś mi nie leży.