|
|
|
|
|
by bheadmaster
992 days ago
|
|
> If your error is 5 or 10 levels deep, do you prepend contextual information every time? Yes, because each level is (hopefully) there for a reason, and provides a deeper context about where and why the error occurred. If your contextual information is too repetitive and redundant, it may be the time to refactor your code and remove the unnecessary layers. |
|
It reminds me of A Philosophy of Software Design:
The utility of a module (or any form of encapsulation such as a function) is greater, the smaller the interface relative to the implementation. Shallow ve deep modules.
Error handling might be a proxy to determine the semantic depth of a module.
Another perspective: (real) errors typically occur when a program interacts with the outside world AKA side effects etc.
Perhaps it’s more useful to lift effects up instead of burying them. That will automatically put errors up the stack, where you actually want to handle them.