Why is this an issue?

A catch clause that only rethrows the caught exception has the same effect as omitting the catch altogether and letting it bubble up automatically.

public String readFile(File f) throws IOException {
  String content;
  try {
    content = readFromDisk(f);
  } catch (IOException e) {
    throw e;
  }
  return content;
}

Such clauses should either be removed or populated with the appropriate logic.

public String readFile(File f) throws IOException {
  return readFromDisk(f);
}

or

public String readFile(File f) throws IOException {
  String content;
  try {
    content = readFromDisk(f);
  } catch (IOException e) {
    logger.LogError(e);
    throw e;
  }
  return content;
}

In the case of try-with-resources, the try should remain even without a catch clause, to keep the resource management

String readFirstLine(FileReader fileReader) throws IOException {
  try (BufferedReader br = new BufferedReader(fileReader)) {
     return br.readLine();
  } catch (IOException e) { // Noncompliant
  throw e;
}

becomes

String readFirstLine(FileReader fileReader) throws IOException {
  try (BufferedReader br = new BufferedReader(fileReader)) {
     return br.readLine();
  }
}