Handle errors with fiber usage.

This commit is contained in:
Bob Nystrom
2014-01-13 06:58:27 -08:00
parent 52a6d6d69c
commit 4b8b676ffe
6 changed files with 38 additions and 4 deletions
+11
View File
@@ -0,0 +1,11 @@
var fiber = Fiber.create(fn {
IO.print("1")
Fiber.yield
IO.print("2")
})
IO.print(fiber.isDone) // expect: false
fiber.run // expect: 1
IO.print(fiber.isDone) // expect: false
fiber.run // expect: 2
IO.print(fiber.isDone) // expect: true
+6
View File
@@ -0,0 +1,6 @@
var fiber = Fiber.create(fn {
IO.print("run")
})
fiber.run // expect: run
fiber.run // expect runtime error: Cannot run a finished fiber.
+6
View File
@@ -0,0 +1,6 @@
var fiber = Fiber.create(fn {
IO.print("run")
})
fiber.run(1) // expect: run
fiber.run(2) // expect runtime error: Cannot run a finished fiber.
+1
View File
@@ -0,0 +1 @@
Fiber.yield // expect runtime error: No fiber to yield to.
@@ -0,0 +1 @@
Fiber.yield(1) // expect runtime error: No fiber to yield to.