8000 Refactor error handling · diamondtech/rabbitmq-tutorials@fc0dc7f · GitHub
[go: up one dir, main page]

Skip to content

Commit fc0dc7f

Browse files
Refactor error handling
1 parent 270fb12 commit fc0dc7f

File tree

2 files changed

+24
-29
lines changed

2 files changed

+24
-29
lines changed

go/receive.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,23 @@ import (
44
"github.com/streadway/amqp"
55
"log"
66
"os"
7+
"fmt"
78
)
89

9-
func main() {
10-
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
10+
func failOnError(err error, msg string) {
1111
if err != nil {
12-
log.Fatalf("Dial: %s", err)
13-
return
12+
log.Fatalf("%s: %s", msg, err)
13+
panic(fmt.Sprintf("%s: %s", msg, err))
1414
}
15+
}
16+
17+
func main() {
18+
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
19+
failOnError(err, "Failed to connect to RabbitMQ")
1520
defer conn.Close()
1621

1722
ch, err := conn.Channel()
18-
if err != nil {
19-
log.Fatalf("Channel: %s", err)
20-
return
21-
}
23+
failOnError(err, "Failed to open a channel")
2224

2325
defer ch.Close()
2426

@@ -30,12 +32,10 @@ func main() {
3032
false, // noWait
3133
nil, // arguments
3234
)
33-
if err != nil {
34-
log.Fatalf("Queue Declare: %s", err)
35-
return
36-
}
35+
failOnError(err, "Failed to declare a queue")
3736

3837
msgs, err := ch.Consume(q.Name, "", true, false, false, false, nil)
38+
failOnError(err, "Failed to register a consumer")
3939

4040
done := make(chan bool)
4141
var d amqp.Delivery

go/send.go

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,23 @@ import (
44
"github.com/streadway/amqp"
55
"log"
66
"os"
7+
"fmt"
78
)
89

9-
func main() {
10-
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
10+
func failOnError(err error, msg string) {
1111
if err != nil {
12-
log.Fatalf("Dial: %s", err)
13-
return
12+
log.Fatalf("%s: %s", msg, err)
13+
panic(fmt.Sprintf("%s: %s", msg, err))
1414
}
15+
}
16+
17+
func main() {
18+
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
19+
failOnError(err, "Failed to connect to RabbitMQ")
1520
defer conn.Close()
1621

1722
ch, err := conn.Channel()
18-
if err != nil {
19-
log.Fatalf("Channel: %s", err)
20-
return
21-
}
23+
failOnError(err, "Failed to open a channel")
2224

2325
defer ch.Close()
2426

@@ -30,10 +32,7 @@ func main() {
3032
false, // noWait
3133
nil, // arguments
3234
)
33-
if err != nil {
34-
log.Fatalf("Queue Declare: %s", err)
35-
return
36-
}
35+
failOnError(err, "Failed to declare a queue")
3736

3837
body := "hello"
3938
err = ch.Publish(
@@ -45,11 +44,7 @@ func main() {
4544
ContentType: "text/plain",
4645
Body: []byte(body),
4746
})
48-
49-
if err != nil {
50-
log.Fatalf("Exchange Publish: %s", err)
51-
return
52-
}
47+
failOnError(err, "Failed to publish a message")
5348

5449
os.Exit(0)
5550
}

0 commit comments

Comments
 (0)
0