Skip to content

Commit 58df484

Browse files
committed
use errors.As
1 parent 27d8e2b commit 58df484

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

monitors.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package mackerel
22

33
import (
44
"encoding/json"
5+
"errors"
56
"fmt"
67
"io"
78
"net/http"
@@ -324,13 +325,13 @@ func (c *Client) FindMonitors() ([]Monitor, error) {
324325
ms := make([]Monitor, 0, len(data.Monitors))
325326
for _, rawmes := range data.Monitors {
326327
m, err := decodeMonitor(rawmes)
328+
329+
var e *unknownMonitorTypeError
327330
if err != nil {
328-
switch err.(type) {
329-
case *unknownMonitorTypeError:
331+
if errors.As(err, &e) {
330332
break
331-
default:
332-
return nil, err
333333
}
334+
return nil, err
334335
}
335336
ms = append(ms, m)
336337
}

monitors_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package mackerel
22

33
import (
44
"encoding/json"
5+
"errors"
56
"fmt"
67
"net/http"
78
"net/http/httptest"
@@ -674,9 +675,8 @@ func TestDecodeUnknownMonitor(t *testing.T) {
674675
if err == nil {
675676
t.Errorf("err should be unknownMonitorTypeError but: %v", err)
676677
} else {
677-
switch err.(type) {
678-
case *unknownMonitorTypeError:
679-
default:
678+
var e *unknownMonitorTypeError
679+
if !errors.As(err, &e) {
680680
t.Errorf("err should be unknownMonitorTypeError but: %v", err)
681681
}
682682
}

0 commit comments

Comments
 (0)