Is it possible to check existence of data in data flow?

Is it possible to check the non-existence of data? For example, I might want to raise an error if no data is received in a flow.

You can check number of processed records in all components with transformation, you write by yourself - in finished() method. If your counter is still on initial
value you can just raise an error (raise_error function in ctl), eg. put a Reformat between other components:

//#TL
int counter = 0;
// Transforms input record into output record.
function transform() {
	counter++;
	$0.* := $0.*;
}

// Called after the component finishes.
function finished() {
	if (counter == 0) raise_error("Input flow is empty");
}