2016-06-08 10 views
0

Ich habe gerade angefangen, an meinem ersten Golang-Projekt zu arbeiten und mag die Idee, benutzerdefinierte Fehlertypen aus Funktionen zurückzugeben und Typaufruf im aufrufenden Code zu verwenden, um nach bestimmten Fehlern zu suchen. Ich finde diese Lösung sauberer als immer Fehlermeldungen zu vergleichen.Golang-Code-Organisation: Wo sollte ich benutzerdefinierte Fehlertypen setzen, die nur für eine Funktion relevant sind?

Meine einzige Frage ist: Wo setzen Sie diese benutzerdefinierten Fehlertypen am besten?

Angenommen, eine Reihe von benutzerdefinierten Fehlertypen wird nur von einer Dienstprogrammfunktion verwendet (zurückgegeben), sollten sie im gleichen Paket wie die Funktion enthalten sein? Sollte ich sie irgendwie gruppieren? Oder vielleicht gibt es eine bessere Möglichkeit, diese Art von Ding zu tun ..

Antwort

1

"Same-Paket" wäre mein erster Gedanke. Es kann Fälle geben, in denen es sinnvoll wäre, sie in einem anderen Paket zu haben, aber das wäre nur dann der Fall, wenn sie rechtmäßig "derselbe Fehler" von Funktionen in mehreren Paketen sind, wobei keines dieser Pakete der logische "meiste Besitzer" ist.