 			
 			if (_ignoreRuntimeErrors || debug)
 				return true;
+			
+			if (_catchErrors)
+			{
+				reportError(e);
+				return false;
+			}
+			
 			throw e;
 		}
 		

		}
		
		/**
		 * This function evaluates a macro specified in the macros hash map.
		 * @param macroName The name of the macro to evaluate.
		 * @param params The parameters to pass to the macro.
		 * @return The result of evaluating the macro.
		 */
		public static function evaluateMacro(macroName:String, ...params):*
		{
			var lf:LinkableFunction = macros.getObject(macroName) as LinkableFunction;
			return lf ? lf.apply(null, params) : undefined;
		}

		{
			if (_triggerCount != triggerCounter)
			{
				// if this LinkableFunction is in the macros list, errors should be caught and reported.
				if (macros.getName(this))
					_catchErrors = true;
				
				_triggerCount = triggerCounter;
				// in case compile fails, prevent re-compiling erroneous code
				_compiledMethod = RETURN_UNDEFINED;
