Why is this an issue?

Most of the time a block of code is empty when a piece of code is really missing. So such empty block must be either filled or removed.

Noncompliant code example

for (var i:int = 0; i < 42; i++){}  // Noncompliant

try {                               // Noncompliant
} catch (error)
{
    ...
}

Compliant solution

for (var i:int = 0; i < 42; i++);

for (var i:int = 0; i < 42; i++) {
  trace(i);
}

Exceptions

When a block contains a comment, this block is not considered to be empty.