diff --git a/main.go b/main.go index 70a5492..e6a9aef 100644 --- a/main.go +++ b/main.go @@ -11,6 +11,14 @@ import ( func main() { ctx, can := signal.NotifyContext(context.Background(), syscall.SIGINT) defer can() + + defer func() { + if err := recover(); err != nil { + log.Println("panic:", err) + panic(err) + } + }() + if err := src.Main(ctx); err != nil && ctx.Err() == nil { panic(err) } diff --git a/src/main.go b/src/main.go index a660707..ae0267b 100644 --- a/src/main.go +++ b/src/main.go @@ -17,9 +17,9 @@ func Main(ctx context.Context) error { defer reader.Close() interval := time.Millisecond * 50 - if intervalS := os.Getenv("MAIN_INTERVAL_DURATION"); intervalS != "" { + if intervalS := os.Getenv("MAIN_INTERVAL_DURATION"); intervalS == "" { } else if v, err := time.ParseDuration(intervalS); err != nil { - panic(err) + return err } else { interval = v }