[svn] r6483: nemerle/trunk/ncc: parsing/MainParser.n
testsuite/negative/try-empty-catch.n
dragonfox
svnadmin at nemerle.org
Sat Aug 5 10:47:14 CEST 2006
Log:
fix catch with no handlers (bug 726)
Author: dragonfox
Date: Sat Aug 5 10:47:06 2006
New Revision: 6483
Added:
nemerle/trunk/ncc/testsuite/negative/try-empty-catch.n
Modified:
nemerle/trunk/ncc/parsing/MainParser.n
Modified: nemerle/trunk/ncc/parsing/MainParser.n
==============================================================================
--- nemerle/trunk/ncc/parsing/MainParser.n (original)
+++ nemerle/trunk/ncc/parsing/MainParser.n Sat Aug 5 10:47:06 2006
@@ -2057,9 +2057,11 @@
body = PExpr.Try (loc, body, [TryCase.Ellipsis (e)]);
| _ => Util.ice ()
}
- | Token.BracesGroup (group) =>
+ | Token.BracesGroup (group) as x =>
def cases = List.FoldLeft (process_groups (group, "exception handlers", parse_match_case),
[], mktry);
+ when (cases is [])
+ Error (x, "catch body must have at least one handler");
body = PExpr.Try (loc, body, cases.Rev ());
| x => Error (x, "expecting handlers of exceptions")
Added: nemerle/trunk/ncc/testsuite/negative/try-empty-catch.n
==============================================================================
--- (empty file)
+++ nemerle/trunk/ncc/testsuite/negative/try-empty-catch.n Sat Aug 5 10:47:06 2006
@@ -0,0 +1,8 @@
+class M {
+ static f () : void {
+ try {
+ _ = 1
+ } catch { // E: catch body must have at least one handler
+ }
+ }
+}
More information about the svn
mailing list