diff --git a/lib/fly/-serial.js b/lib/fly/-serial.js
index <HASH>..<HASH> 100644
--- a/lib/fly/-serial.js
+++ b/lib/fly/-serial.js
@@ -13,10 +13,13 @@ module.exports = co(function * (tasks, opts) {
 	const self = this;
 	opts = assign({}, defs, opts);
 
-	// @todo try/catch
-	// @todo throw on chain error
-	return yield Promise.reduce(tasks, co(function * (val, str) {
-		val && assign(opts, {val: val});
-		return yield self.start(str, opts);
-	}), opts.val);
+	try {
+		return yield Promise.reduce(tasks, co(function * (val, str) {
+			val && assign(opts, {val: val});
+			return yield self.start(str, opts);
+		}), opts.val);
+	} catch (e) {
+		console.error("SERIAL ERROR", e);
+		// self.emit('serial_error');
+	}
 });
interrupt serial chain if error (resolves #<I>)