Примеры ошибок, обнаруженных с помощью диагностики V6019


V6019. Unreachable code detected. It is possible that an error is present.


CUBA Platform

V6019 Unreachable code detected. It is possible that an error is present. TransactionTest.java(283)


private void throwException() {
  throw new RuntimeException(TEST_EXCEPTION_MSG);
}

@Test
public void testSuspendRollback() {
  Transaction tx = cont.persistence().createTransaction();
  try {
    ....
    Transaction tx1 = cont.persistence().createTransaction();
    try {
      EntityManager em1 = cont.persistence().getEntityManager();
      assertTrue(em != em1);
      Server server1 = em1.find(Server.class, server.getId());
      assertNull(server1);
      throwException();        // <=
      tx1.commit();            // <=
    } catch (Exception e) {
      //
    } finally {
      tx1.end();
    }

    tx.commit();
  } finally {
    tx.end();
  }
}

Similar errors can be found in some other places:

  • V6019 Unreachable code detected. It is possible that an error is present. TransactionTest.java(218)
  • V6019 Unreachable code detected. It is possible that an error is present. TransactionTest.java(163)
  • V6019 Unreachable code detected. It is possible that an error is present. TransactionTest.java(203)
  • And 4 additional diagnostic messages.

Apache Dubbo

V6019 Unreachable code detected. It is possible that an error is present. GrizzlyCodecAdapter.java(136)


@Override
public NextAction handleRead(FilterChainContext context) throws IOException {
  ....
  do {
    savedReadIndex = frame.readerIndex();
    try {
      msg = codec.decode(channel, frame);
    } catch (Exception e) {
      previousData = ChannelBuffers.EMPTY_BUFFER;
      throw new IOException(e.getMessage(), e);
    }
    if (msg == Codec2.DecodeResult.NEED_MORE_INPUT) {
      frame.readerIndex(savedReadIndex);
        return context.getStopAction();     // <=
    } else {
      if (savedReadIndex == frame.readerIndex()) {
        previousData = ChannelBuffers.EMPTY_BUFFER;
        throw new IOException("Decode without read data.");   // <=
      }
      if (msg != null) {
        context.setMessage(msg);
        return context.getInvokeAction();     // <=
      } else {
        return context.getInvokeAction();    // <=
      }
    }
  } while (frame.readable());     // <=
  ....
}


Найденные ошибки

Проверено проектов
367
Собрано ошибок
13 552

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;