 
   runAfter: (callback) ->
     afters = @afterHooks
-    next = =>
+    next = (err) =>
+      return callback err if err?
       if afters.length is 0
         callback()
       else

spectacular.subject = (name, block) ->
  notInsideIt 'subject'
  [name, block] = [block, name] if typeof name is 'function'

  currentExampleGroup.ownSubjectBlock = block
  spectacular.given name, block if name?


      if @acceptAsync hook
        async = new spectacular.AsyncExamplePromise
        async.then => next()
        async.fail (reason) => next(reason)
        async.run()
        hook.call(this, async)
      else
        hook.call(this)
        next()
    catch e
      next(e)

  executeBlock: ->
    try
