Skip to content

Commit d2eea41

Browse files
authored
Improve Spawning Processes, using errors.As (#625)
1 parent 8590989 commit d2eea41

File tree

3 files changed

+20
-12
lines changed

3 files changed

+20
-12
lines changed

examples/spawning-processes/spawning-processes.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package main
55

66
import (
7+
"errors"
78
"fmt"
89
"io"
910
"os/exec"
@@ -35,11 +36,14 @@ func main() {
3536
// code.
3637
_, err = exec.Command("date", "-x").Output()
3738
if err != nil {
38-
switch e := err.(type) {
39-
case *exec.Error:
39+
var execErr *exec.Error
40+
var exitErr *exec.ExitError
41+
switch {
42+
case errors.As(err, &execErr):
4043
fmt.Println("failed executing:", err)
41-
case *exec.ExitError:
42-
fmt.Println("command exit rc =", e.ExitCode())
44+
case errors.As(err, &exitErr):
45+
exitCode := exitErr.ExitCode()
46+
fmt.Println("command exit rc =", exitCode)
4347
default:
4448
panic(err)
4549
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
5303cfb969de556a875db17972b4107b6f70ba10
2-
rmnQdR-dMWU
1+
3020b65601d80e67c575785c8d2616163a0423a5
2+
uOmOn18nMDw

public/spawning-processes

Lines changed: 10 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)