catch exceptions from hll actors
This commit is contained in:
parent
5a87428f62
commit
f19a02e859
|
@ -536,14 +536,15 @@
|
||||||
(define (actor-behavior e s)
|
(define (actor-behavior e s)
|
||||||
(cond
|
(cond
|
||||||
[e
|
[e
|
||||||
(match-define (actor-state π-old ft) s)
|
(with-handlers ([exn:fail? (lambda (e) (quit #:exceptiuon e (list)))])
|
||||||
(match (run-facets ft π-old mt-σ e)
|
(match-define (actor-state π-old ft) s)
|
||||||
[(ok _ ft π as)
|
(match (run-facets ft π-old mt-σ e)
|
||||||
(define next-π (if (scn? e) (scn-trie e) π-old))
|
[(ok _ ft π as)
|
||||||
(transition (actor-state next-π ft)
|
(define next-π (if (scn? e) (scn-trie e) π-old))
|
||||||
(cons (scn π) as))]
|
(transition (actor-state next-π ft)
|
||||||
[as
|
(cons (scn π) as))]
|
||||||
(quit as)])]
|
[as
|
||||||
|
(quit as)]))]
|
||||||
[else #f]))
|
[else #f]))
|
||||||
|
|
||||||
;; run : Program -> Syndicate
|
;; run : Program -> Syndicate
|
||||||
|
|
Loading…
Reference in New Issue