diff --git a/lib/index.js b/lib/index.js
index <HASH>..<HASH> 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -141,7 +141,7 @@ class App {
 
     let errorHandler = err => {
       if (err instanceof HttpError)
-        return this.parent.catch.run(mergeState(state, err.code))
+        return this.parent.catch.run(mergeState(state, err.code, [err]))
           .catch(errorHandlerNotFound(err.code))
           .then(h => h(ctx))
           .catch(errorHandler);
always send error to catch handlers

fixed #3