diff --git a/contrib/extension/subscription/subscription.go b/contrib/extension/subscription/subscription.go
index 7cbaef921cbf59970e313d84c6a382094a0f713f..f6c54b2ff2129fb9d962637eb9c47f0a889afcd3 100644
--- a/contrib/extension/subscription/subscription.go
+++ b/contrib/extension/subscription/subscription.go
@@ -99,6 +99,10 @@ func (n *Notifier) Notify(data any) error {
 	return n.send(enc)
 }
 
+func (n *Notifier) Err() <-chan error {
+	return n.err
+}
+
 func (n *Notifier) send(data json.RawMessage) error {
 	params, _ := json.Marshal(&subscriptionResult{ID: string(n.id), Result: data})
 	return n.h.Notify(n.namespace+notificationMethodSuffix, json.RawMessage(params))
diff --git a/example/subscription/main.go b/example/subscription/main.go
index c69aa44653ee97e53dc491365b1f8c305aeab75b..06b467c62da3be3207f4745568a6d4eca0dc6b39 100644
--- a/example/subscription/main.go
+++ b/example/subscription/main.go
@@ -41,6 +41,7 @@ func main() {
 				for {
 					select {
 					case <-r.Context().Done():
+					case <-notifier.Err():
 					default:
 					}
 					notifier.Notify(idx)