Skip to content

Commit 6c9f2bb

Browse files
committed
error handling
1 parent 51e8c55 commit 6c9f2bb

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

Diff for: kadai1/tanaka0325/imgconv/cmd/imgconv/main.go

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
package main
22

33
import (
4+
"fmt"
5+
"os"
6+
47
"github.com/gopherdojo/dojo8/kadai1/tanaka0325/imgconv"
58
)
69

710
func main() {
8-
imgconv.Run()
11+
if err := imgconv.Run(); err != nil {
12+
fmt.Fprintln(os.Stderr, err)
13+
os.Exit(1)
14+
}
15+
16+
os.Exit(0)
917
}

Diff for: kadai1/tanaka0325/imgconv/imgconv.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package imgconv
33
import (
44
"flag"
55
"fmt"
6-
"log"
76
"os"
87
"path/filepath"
98
"strings"
@@ -24,14 +23,14 @@ func init() {
2423
}
2524

2625
// Run is to convert image file format
27-
func Run() {
26+
func Run() error {
2827
// check options ext
2928
to := strings.ToLower(*t)
3029
from := strings.ToLower(*f)
3130
targetExts := []string{to, from}
3231
for _, e := range targetExts {
3332
if err := allowedExts.include(e); err != nil {
34-
log.Fatal(fmt.Errorf("%w. ext is only allowd in %s", err, allowedExts))
33+
return fmt.Errorf("%w. ext is only allowd in %s", err, allowedExts)
3534
}
3635
}
3736

@@ -40,27 +39,29 @@ func Run() {
4039
udns := uniq(dns)
4140
paths, err := getPaths(udns, from)
4241
if err != nil {
43-
log.Fatal(err)
42+
return err
4443
}
4544

4645
// convert
4746
imgs, err := createConvImages(paths, from, to)
4847
if err != nil {
49-
log.Fatal(err)
48+
return err
5049
}
5150
for _, img := range imgs {
5251
if err := img.decode(); err != nil {
53-
log.Fatal(err)
52+
return err
5453
}
5554

5655
if *dryRun {
5756
fmt.Println(img.filename+"."+img.fromExt, "=>", img.filename+"."+img.toExt)
5857
} else {
5958
if err := img.encode(); err != nil {
60-
log.Fatal(err)
59+
return err
6160
}
6261
}
6362
}
63+
64+
return nil
6465
}
6566

6667
func uniq(s []string) []string {

0 commit comments

Comments
 (0)