Mercurial > gemma
annotate pkg/common/errors.go @ 5407:850f5847d18a marking-single-beam
Re-establish compat with old single-beam interface.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 06 Jul 2021 15:26:20 +0200 |
parents | c4e295b2d6a3 |
children |
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 } |