diff --git a/README.md b/README.md
index 256d192f46b2955d867392660f848932071f78fe..972af24f6fb3ef4c2684aeb3d51d0f9a2ff775d0 100644
--- a/README.md
+++ b/README.md
@@ -79,9 +79,9 @@ For a production quality example that shows off the low level API, see the [echo
 ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
 defer cancel()
 
-c, _, err := websocket.Dial(ctx, "ws://localhost:8080")
+c, _, err := websocket.Dial(ctx, "ws://localhost:8080", websocket.DialOptions{})
 if err != nil {
-	log.Fatalf("failed to ws dial: %v", err)
+	return err
 }
 defer c.Close(websocket.StatusInternalError, "")
 
@@ -92,7 +92,7 @@ jc := websocket.JSONConn{
 var v interface{}
 err = jc.Read(ctx, &v)
 if err != nil {
-	log.Fatalf("failed to read json: %v", err)
+	return err
 }
 
 log.Printf("received %v", v)
diff --git a/example_test.go b/example_test.go
index 30434e6207723c2c159e7bbc9fe563609a5b1f7b..53426ba2733d32662a1bf9c1e7bda3feddbba9ee 100644
--- a/example_test.go
+++ b/example_test.go
@@ -115,7 +115,7 @@ func ExampleDial() {
 
 	c, _, err := websocket.Dial(ctx, "ws://localhost:8080", websocket.DialOptions{})
 	if err != nil {
-		log.Fatalf("failed to ws dial: %v", err)
+		return
 	}
 	defer c.Close(websocket.StatusInternalError, "")
 
@@ -126,7 +126,7 @@ func ExampleDial() {
 	var v interface{}
 	err = jc.Read(ctx, &v)
 	if err != nil {
-		log.Fatalf("failed to read json: %v", err)
+		return
 	}
 
 	log.Printf("received %v", v)