Właśnie zacząłem używać Golanga. Myślę, że deklaracja zmiennej błędu jest idiomatyczna i użycie jej w strukturze błędów do określenia, co poszło nie tak, jak to się dzieje w strconv.go. Tam deklarowane są ErrRange
i ErrSyntax
, a w razie potrzeby odniesienia do tych są przechowywane w strukturach NumError
po ich powrocie. Myślę, że powodem jest to, że wtedy adres odniesienia do błędu przechowywanego w NumError
można porównać ze zmiennymi ErrRange
i ErrSyntax
w celu ustalenia, który typ błędu został zwrócony.Czy masz standardowe zmienne Err?
Czy istnieją "standardowe" takie zadeklarowane typy błędów? W Javie na przykład masz rzeczy takie jak java.lang.IllegalArgumentException
. Czy istnieje na przykład ErrArgument
lub ErrUnsupportedOperation
, których mogę używać w moim własnym kodzie zamiast tworzyć nowe zmienne błędów, które oznaczają to samo za każdym razem?
Zazwyczaj, nawet kiedy piszę Pythona, który ma na języku Java, takich jak kategorie wyjątków, mój * intent * służy do obsługi określonego błędu, o którym wiem, że potrzebuję specjalnej ścieżki (np. błędu sieci wywołującego niektóre zewnętrzne API) lub złapania czegokolwiek (i np. ., log i przerwanie). Wartości potencjalnie specjalnego błędu płatka śniegu najczęściej działają. Pakiet 'os' zawiera funkcje, które kategoryzują własne błędy (np.' Os.IsPermission (err error) bool'), ale to coś zupełnie innego. – twotwotwo