Parse try block as verbatim expr
diff --git a/src/expr.rs b/src/expr.rs
index 979de71..841f934 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -1573,6 +1573,9 @@
         // must be before ExprStruct
         call!(unstable_async_block) => { Expr::Verbatim }
         |
+        // must be before ExprStruct
+        call!(unstable_try_block) => { Expr::Verbatim }
+        |
         // must be before expr_path
         cond_reduce!(allow_struct, syn!(ExprStruct)) => { Expr::Struct }
         |
@@ -2159,6 +2162,18 @@
     ));
 
     #[cfg(feature = "full")]
+    named!(unstable_try_block -> ExprVerbatim, do_parse!(
+        begin: call!(verbatim::grab_cursor) >>
+        many0!(Attribute::parse_outer) >>
+        keyword!(try) >>
+        syn!(Block) >>
+        end: call!(verbatim::grab_cursor) >>
+        (ExprVerbatim {
+            tts: verbatim::token_range(begin..end),
+        })
+    ));
+
+    #[cfg(feature = "full")]
     named!(fn_arg -> FnArg, do_parse!(
         pat: syn!(Pat) >>
         ty: option!(tuple!(punct!(:), syn!(Type))) >>
diff --git a/src/token.rs b/src/token.rs
index a60202f..0fe8c4d 100644
--- a/src/token.rs
+++ b/src/token.rs
@@ -500,6 +500,7 @@
         "struct"   pub struct Struct       /// `struct`
         "super"    pub struct Super        /// `super`
         "trait"    pub struct Trait        /// `trait`
+        "try"      pub struct Try          /// `try`
         "type"     pub struct Type         /// `type`
         "union"    pub struct Union        /// `union`
         "unsafe"   pub struct Unsafe       /// `unsafe`
@@ -602,6 +603,7 @@
     (struct)   => { $crate::token::Struct };
     (super)    => { $crate::token::Super };
     (trait)    => { $crate::token::Trait };
+    (try)      => { $crate::token::Try };
     (type)     => { $crate::token::Type };
     (union)    => { $crate::token::Union };
     (unsafe)   => { $crate::token::Unsafe };
@@ -716,6 +718,7 @@
     ($i:expr, struct)   => { call!($i, <$crate::token::Struct as $crate::synom::Synom>::parse) };
     ($i:expr, super)    => { call!($i, <$crate::token::Super as $crate::synom::Synom>::parse) };
     ($i:expr, trait)    => { call!($i, <$crate::token::Trait as $crate::synom::Synom>::parse) };
+    ($i:expr, try)      => { call!($i, <$crate::token::Try as $crate::synom::Synom>::parse) };
     ($i:expr, type)     => { call!($i, <$crate::token::Type as $crate::synom::Synom>::parse) };
     ($i:expr, union)    => { call!($i, <$crate::token::Union as $crate::synom::Synom>::parse) };
     ($i:expr, unsafe)   => { call!($i, <$crate::token::Unsafe as $crate::synom::Synom>::parse) };