mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-21 20:33:55 +00:00
Estimated hours taken: 80 Add support for exception handling, in extras/exceptions. extras/exceptions/README: Describes the files in this directory. extras/exceptions/exception.m: Contains the exception handling interface and implementation. extras/exceptions/test_exceptions.m: extras/exceptions/test_exceptions.exp: extras/exceptions/test_uncaught_exception.m: extras/exceptions/test_uncaught_exception.exp: extras/exceptions/test_exceptions_func.m: extras/exceptions/test_exceptions_func.exp: Test cases. extras/exceptions/Mmakefile: The Mmakefile for building and running the test cases.
18 lines
884 B
Plaintext
18 lines
884 B
Plaintext
det_throw: exception(univ("det_throw" : string))
|
|
det_succeed: succeeded("det_succeed")
|
|
semidet_throw: exception(univ("semidet_throw" : string))
|
|
semidet_succeed: succeeded("semidet_succeed")
|
|
semidet_fail: failed
|
|
cc_multi_throw: exception(univ("cc_multi_throw" : string))
|
|
cc_multi_succeed: succeeded("cc_multi_succeed")
|
|
cc_nondet_throw: exception(univ("cc_nondet_throw" : string))
|
|
cc_nondet_succeed: succeeded("cc_nondet_succeed")
|
|
cc_nondet_fail: failed
|
|
multi_throw: exception(univ("multi_throw" : string))
|
|
multi_succeed: succeeded(["multi_succeed 1", "multi_succeed 2"])
|
|
multi_succeed_then_throw: exception(univ("multi_succeed_then_throw 3" : string))
|
|
nondet_throw: exception(univ("nondet_throw" : string))
|
|
nondet_succeed: succeeded(["nondet_succeed 1", "nondet_succeed 2"])
|
|
nondet_fail: succeeded([])
|
|
nondet_succeed_then_throw: exception(univ("nondet_succeed_then_throw 3" : string))
|