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 
GeneralRe: Exception or Return Value? Pin
Mircea Neacsu24-Jun-24 6:15
Mircea Neacsu24-Jun-24 6:15 
trønderen wrote:
But of course you will not define all warnings as errors
You are right. I should have said: "for similar situations use either errors or exceptions." For sure you can use both if you do it in a consistent manner.

trønderen wrote:
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.
Indeed! The way I see it, the conundrum of error handling is that, at lower levels you have all the information about what happened but you cannot make any decision. At higher levels, you can make decisions but the amount of information you have is limited (errors have been coerced in a few error codes, exceptions have limited information, etc.). This is not unlike the situation in any organization where higher up executives have increasing decision power and decreasing knowledge about what's going on. Finding the appropriate compromise is difficult both for error handling and for organizations.

Going back to my error code objects solution, one more thing I particularly like is that it makes it immediately clear what functions return error codes. Looking at the signature of a function like:
C++
int read (FILE* f, void* data, int& len);
you cannot immediately know if the returned value is the number of bytes read, or an error code or a combination of those. Meanwhile, with my system, a function signature like:
C++
erc read (FILE* F, void* data, int& len);
it is clear that it returns an error code. Said error code magically transforms into an exception if not properly treated Smile | :)
Mircea

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.