[haiku-development] Re: Plan for NetServices Kit (v2)

  • From: "Mr. waddlesplash" <waddlesplash@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 1 Sep 2021 10:41:33 -0400

On Wed, Sep 1, 2021 at 2:32 AM Niels Sascha Reedijk
<niels.reedijk@xxxxxxxxx> wrote:

 Also agreed. Having said that, unless the final decision is to stay with the 
legacy error handling without exceptions and using status_t and invalid 
objects, it seems likely that we will end up in a situation where there would 
be legacy error handling (in the older kits) and modern error handling (in 
newer kits).

I think it is worth noting at this point that the major error handling
paradigms of newer languages, like Rust, are pretty much
exception-free (I guess Rust has "recoverable panics" but they are not
at all intended to be used like exceptions), and instead have error
handling strategies that are functionally like status_t returns but
with more syntactic sugar attached.

Having worked largely in codebases that do not use exceptions, perhaps
it's just my personal preference, but the more I work with exceptions
the more I dislike them as an error handling strategy. I think the
return-value-based error handling is by far the better way; certainly
it's cleaner in Rust where there is more compiler support for it (now,
whether we would want to try and imitate that in C++ without compiler
support is a separate question; I'm not sure that we should), but
overall, exceptions are "outmoded" in my opinion.

-waddlesplash

Other related posts: