annotate pkg/common/errors.go @ 5688:6281c18b109f sr-v2

Finsh serializing v2 meshes.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 12 Feb 2024 02:27:41 +0100
parents c4e295b2d6a3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1224
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 // This is Free Software under GNU Affero General Public License v >= 3.0
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2 // without warranty, see README.md and license for details.
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3 //
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4 // SPDX-License-Identifier: AGPL-3.0-or-later
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
5 // License-Filename: LICENSES/AGPL-3.0.txt
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
6 //
4062
6c760abcff0e Move handling of PostgreSQL errors to own package
Tom Gottfried <tom@intevation.de>
parents: 4059
diff changeset
7 // Copyright (C) 2018 by via donau
1224
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
8 // – Österreichische Wasserstraßen-Gesellschaft mbH
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
9 // Software engineering by Intevation GmbH
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10 //
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
11 // Author(s):
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 // * Sascha L. Teichmann <sascha.teichmann@intevation.de>
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 package common
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16 import (
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17 "errors"
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 "fmt"
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19 "strings"
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20 )
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21
1345
6a021108410b Finished the doc strings for the common package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1224
diff changeset
22 // ToError concats a slice of errors to a single error.
1224
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23 func ToError(errs []error) error {
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24 var b strings.Builder
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 for i, err := range errs {
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26 if i > 0 {
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 fmt.Fprintf(&b, ", ")
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 }
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 fmt.Fprintf(&b, "%v", err)
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30 }
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 return errors.New(b.String())
bc4b642c8d04 Started with an upload sounding result to temp upload area.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32 }
5207
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
33
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
34 // JoinErrors creates a comma separated string out of the given errors.
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
35 func JoinErrors(errors []error) string {
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
36 var b strings.Builder
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
37 for _, err := range errors {
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
38 if b.Len() > 0 {
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
39 b.WriteString(", ")
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
40 }
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
41 b.WriteString(err.Error())
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
42 }
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
43 return b.String()
c4e295b2d6a3 Some code simplification.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 4062
diff changeset
44 }