                 case error
             }
 
-            func nonThrowingFunc() throws { }
+            func nonThrowingFunc() throws {}
 
-            func throwingFunc() throws {
-                throw ExampleError.error
+            func throwingFunc(shouldThrow: Bool) throws {
+                if shouldThrow {
+                    throw ExampleError.error
+                }
             }
 
             it("supports calling functions marked as throws") {

            }

            it("supports calling functions that actually throws") {
                try throwingFunc()
            }
        }
    }

            ("testAllExamplesAreExecuted", testAllExamplesAreExecuted),
            ("testImplicitErrorHandling", testAllExamplesAreExecuted),
        ]
    }

    override func setUp() {
        super.setUp()
        isRunningFunctionalTests = true
    }

    override func tearDown() {
        isRunningFunctionalTests = false
        super.tearDown()
    }

    func testAllExamplesAreExecuted() {
