←back to thread

314 points thunderbong | 1 comments | | HN request time: 0.223s | source
Show context
adontz ◴[] No.42202248[source]
This is a good example of "stringly typed" software. Golang designers did not want exceptions (still have them with panic/recover), but untyped errors are evil. On the other hand, how would one process typed errors without pattern matching? Because "catch" in most languages is a [rudimentary] pattern matching.

https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...

replies(1): >>42202266 #
KRAKRISMOTT ◴[] No.42202266[source]
Go has typed errors, it just didn't use it in this case.
replies(7): >>42202277 #>>42202378 #>>42202617 #>>42203319 #>>42205600 #>>42206561 #>>42208318 #
Svip ◴[] No.42202277[source]
The consumer didn't, but the error in the example is typed, it's called `MaxBytesError`.
replies(2): >>42202292 #>>42203341 #
1. simiones ◴[] No.42203341[source]
Only since go 1.19. It was a stringy error since go 1.0 until then.