summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/transf.nim2
-rw-r--r--tests/exception/texcas.nim10
2 files changed, 10 insertions, 2 deletions
diff --git a/compiler/transf.nim b/compiler/transf.nim
index 14ff58c90..94899c5d4 100644
--- a/compiler/transf.nim
+++ b/compiler/transf.nim
@@ -716,7 +716,7 @@ proc transformExceptBranch(c: PTransf, n: PNode): PTransNode =
   result = transformSons(c, n)
   if n[0].isInfixAs():
     let excTypeNode = n[0][1]
-    let actions = newTransNode(nkStmtList, n[1].info, 2)
+    let actions = newTransNode(nkStmtListExpr, n[1], 2)
     # Generating `let exc = (excType)(getCurrentException())`
     # -> getCurrentException()
     let excCall = PTransNode(callCodegenProc("getCurrentException", ast.emptyNode))
diff --git a/tests/exception/texcas.nim b/tests/exception/texcas.nim
index 4b4ebe448..fee45af3f 100644
--- a/tests/exception/texcas.nim
+++ b/tests/exception/texcas.nim
@@ -21,5 +21,13 @@ proc test2() =
   testTemplate(Exception)
   doAssert(not declared(foobar))
 
+
+proc testTryAsExpr(i: int) =
+  let x = try: i    
+  except ValueError as ex:
+    echo(ex.msg)
+    -1
+
 test[Exception]()
-test2()
\ No newline at end of file
+test2()
+testTryAsExpr(5)