[OT] - C++ exceptions are becoming more and more problematic
IGotD-
nise at nise.com
Wed Mar 2 00:03:48 UTC 2022
On Thursday, 24 February 2022 at 19:14:39 UTC, Walter Bright
wrote:
>
> I agree, which makes this a challenge.
>
> One solution is to design the return value so that failure is a
> valid part of the type. For example, searching for X can return
> an empty result, rather than a special "not found" error.
>
> Another solution is to redesign the problem. For example,
> currently Phobos throws on an invalid Unicode character. A
> better way is to treat such as a "replacement character".
Since you want to go that route and it might be applicable and
convenient for some interfaces, you should consider adding a
nullable type i D, and a language native nullable not only a
library template type. You cannot find a "magic value" for all
interfaces and a nullable type would solve that.
I would like that D outright copies the C# syntax for the
nullable type (because I like it). The '?' makes it easy to
implement and encourage people to use it.
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/nullable-value-types
D has so many similarities with C# by now, adding a C# nullable
syntax wouldn't hurt. D could even win over some C# people when
they need compiled code or for whatever reason. When they see
that D looks almost like C#, they rather stick with D than
"modern C++".
More information about the Digitalmars-d
mailing list