Soot: Body.getTraps () не может получить все ловушки в методе - PullRequest
0 голосов
/ 02 января 2019

Исходный код выглядит следующим образом:

public void init() throws IOException {
Configuration conf = super.getConf();

// Send command to executor which will just start up,
// verify configuration/permissions and exit
try {
  ...
} catch (PrivilegedOperationException e) {
  int exitCode = e.getExitCode();
  LOG.warn("Exit code from container executor initialization is : "
      + exitCode, e);

  throw new IOException("Linux container executor not configured properly"
      + " (error=" + exitCode + ")", e);
}

try {
  ...
} catch (ResourceHandlerException e) {
  LOG.error("Failed to bootstrap configured resource subsystems! ", e);
  throw new IOException(
      "Failed to bootstrap configured resource subsystems!");
}

try {
  ...
} catch (ContainerExecutionException e) {
  throw new IOException("Failed to initialize linux container runtime(s)!");
}

Когда я использовал метод body.getTraps(), чтобы получить все исключения в блоке catch, он просто получил IOException, другие исключения, такие как ContainerExecutionException, игнорируются.

Похоже, что когда код генерирует исключение в блоке catch, исключение, которое фактически захватывается блоком catch, будет игнорироваться.

Итак, я думаю, что, возможно, ошибка Soot в getTraps().

...