Click here to Skip to main content
15,946,342 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
QuestionException or Return Value? Pin
Richard Andrew x6423-Jun-24 10:31
professionalRichard Andrew x6423-Jun-24 10:31 
AnswerRe: Exception or Return Value? Pin
Greg Utas23-Jun-24 15:30
professionalGreg Utas23-Jun-24 15:30 
AnswerRe: Exception or Return Value? Pin
Mircea Neacsu23-Jun-24 15:34
Mircea Neacsu23-Jun-24 15:34 
GeneralRe: Exception or Return Value? Pin
trønderen24-Jun-24 3:45
trønderen24-Jun-24 3:45 
Mircea Neacsu wrote:
If you have some functions returning an error code and others throwing exceptions you can easily create a big mess.
This sounds to me like 'Use either exceptions or error codes in your program - never both'.

To me, that is similar to 'Define either errors or warnings - never both'. But of course you will not define all warnings as errors.
Mircea Neacsu wrote:
my own solution, a cross between exceptions and error codes
I am really happy that you added this Smile | :) I hope readers see this as your primary advice, rather than the either/or thinking that you introduced in the beginning.

If you run into a situation that the caller can handle then and there, and go on, is different from a situation which is fatal to some significant operation, so it has to be abandoned. If you want a rule of thumb (but one with many exceptions): If a caller can handle an error code, restore to a 'normal' condition and continue, with no significant operation aborted, the an error code is appropriate. If handling the situation back to normal cannot be done by the caller after the return, but must be reported to some outer level (and possibly to the user), then an exception is more appropriate.

The borderline is certainly not sharp (nor is the line between warnings and errors!), and often a design selection. Some people/environments have raised a 'robustness principle' (based on the rule 'Be tolerant with others, and strict with yourself', codified in RFC 761), doing what is possible recover and continue, while others want to expose, not gloss over problems (e.g. OSI stack protocols, disconnecting on any protocol violations).
Religious freedom is the freedom to say that two plus two make five.

GeneralRe: Exception or Return Value? Pin
Mircea Neacsu24-Jun-24 6:15
Mircea Neacsu24-Jun-24 6:15 
AnswerRe: Exception or Return Value? Pin
Richard Deeming23-Jun-24 21:36
mveRichard Deeming23-Jun-24 21:36 
Questionhow should I plan my learning trajectory? Pin
Prudence Clearwater22-Jun-24 9:34
Prudence Clearwater22-Jun-24 9:34 
AnswerRe: how should I plan my learning trajectory? Pin
Richard MacCutchan24-Jun-24 6:14
mveRichard MacCutchan24-Jun-24 6:14 
GeneralRe: how should I plan my learning trajectory? Pin
Prudence Clearwater26-Jun-24 17:58
Prudence Clearwater26-Jun-24 17:58 
GeneralRe: how should I plan my learning trajectory? Pin
Richard MacCutchan26-Jun-24 22:32
mveRichard MacCutchan26-Jun-24 22:32 
GeneralRe: how should I plan my learning trajectory? Pin
Ruby Harris15-Jul-24 20:07
Ruby Harris15-Jul-24 20:07 
QuestionBest way to send files to a central location Pin
gthp_cp7-Jun-24 2:15
gthp_cp7-Jun-24 2:15 
QuestionIs a separate view model relevant for Blazor server side given that we can test the whole component with bUnit? Pin
Mr Yossu25-Feb-24 5:38
Mr Yossu25-Feb-24 5:38 
AnswerRe: Is a separate view model relevant for Blazor server side given that we can test the whole component with bUnit? Pin
Gerry Schmitz25-Feb-24 10:06
mveGerry Schmitz25-Feb-24 10:06 
GeneralRe: Is a separate view model relevant for Blazor server side given that we can test the whole component with bUnit? Pin
Mr Yossu26-Feb-24 3:37
Mr Yossu26-Feb-24 3:37 
GeneralRe: Is a separate view model relevant for Blazor server side given that we can test the whole component with bUnit? Pin
Gerry Schmitz26-Feb-24 4:43
mveGerry Schmitz26-Feb-24 4:43 
GeneralRe: Is a separate view model relevant for Blazor server side given that we can test the whole component with bUnit? Pin
Mr Yossu26-Feb-24 4:49
Mr Yossu26-Feb-24 4:49 
AnswerRe: Is a separate view model relevant for Blazor server side given that we can test the whole component with bUnit? Pin
jschell26-Feb-24 12:32
jschell26-Feb-24 12:32 
AnswerRe: Oh my goodness! Pin
Dave Kreskowiak24-Feb-24 4:38
mveDave Kreskowiak24-Feb-24 4:38 
GeneralRe: Oh my goodness! Pin
Gerry Schmitz24-Feb-24 4:42
mveGerry Schmitz24-Feb-24 4:42 
GeneralRe: Oh my goodness! Pin
Dave Kreskowiak24-Feb-24 5:53
mveDave Kreskowiak24-Feb-24 5:53 
QuestionC# How to populate datagridview from a separate combobox selection Pin
mourad barsoum22-Feb-24 12:57
mourad barsoum22-Feb-24 12:57 
AnswerRe: C# How to populate datagridview from a separate combobox selection Pin
Gerry Schmitz23-Feb-24 7:40
mveGerry Schmitz23-Feb-24 7:40 
AnswerRe: C# How to populate datagridview from a separate combobox selection Pin
Vrend Top11-Apr-24 1:13
Vrend Top11-Apr-24 1:13 
GeneralRe: C# How to populate datagridview from a separate combobox selection Pin
RedDk11-Apr-24 8:11
RedDk11-Apr-24 8:11 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.