diff --git a/Web/Routes/RouteT.hs b/Web/Routes/RouteT.hs
--- a/Web/Routes/RouteT.hs
+++ b/Web/Routes/RouteT.hs
@@ -15,6 +15,7 @@
 
 import Control.Applicative (Applicative((<*>), pure), Alternative((<|>), empty))
 import Control.Monad (MonadPlus(mzero, mplus))
+import Control.Monad.Catch (MonadCatch(catch), MonadThrow(throwM))
 import Control.Monad.Cont(MonadCont(callCC))
 import Control.Monad.Error (MonadError(throwError, catchError))
 import Control.Monad.Fix (MonadFix(mfix))
@@ -34,6 +35,18 @@
 class (Monad m) => MonadRoute m where
     type URL m
     askRouteFn :: m (URL m -> [(Text, Maybe Text)] -> Text)
+
+instance MonadCatch m => MonadCatch (RouteT url m) where
+    catch action handler =
+        RouteT $ \ fn -> catch (action' fn) (\ e -> handler' e fn)
+        where
+          action' = unRouteT action
+          handler' e = unRouteT (handler e)
+
+instance MonadThrow m => MonadThrow (RouteT url m) where
+    throwM = throwM'
+        where
+          throwM' e = RouteT $ \ _fn -> throwM e
 
 -- | convert a 'RouteT' based route handler to a handler that can be used with the 'Site' type
 --
diff --git a/web-routes.cabal b/web-routes.cabal
--- a/web-routes.cabal
+++ b/web-routes.cabal
@@ -1,5 +1,5 @@
 Name:             web-routes
-Version:          0.27.8
+Version:          0.27.9
 License:          BSD3
 License-File:     LICENSE
 Author:           jeremy@seereason.com
@@ -25,13 +25,14 @@
 
 Library
         Build-Depends:    base          >= 4    && < 5,
-                          blaze-builder >= 0.2  && < 0.4,
+                          blaze-builder >= 0.2  && < 0.5,
                           parsec        >= 2    && < 4,
                           bytestring    >= 0.9  && < 0.11,
                           http-types    >= 0.6  && < 0.9,
                           mtl           >= 2.0  && < 2.3,
                           text          >= 0.11 && < 1.3,
-                          utf8-string   >= 0.3  && < 0.4
+                          utf8-string   >= 0.3  && < 1.1,
+                          exceptions    >= 0.6.1 && < 0.9
         if impl(ghc >= 7.2)
           Build-Depends:  ghc-prim, split
         Exposed-Modules:  Web.Routes
