Java – the eclipse debugger jumps to the wrong return statement

I encountered a very strange situation I use Java (via eclipse Galileo) on the Android 2.1 platform to perform the following operations:

// Get gravity & geomagnetic data to return to the caller.
final int SIZE_GRAVITY = 3,SIZE_GEOMAGNETIC = 3;
final float[] NOT_USED = null;
float[] outGravity = new float[SIZE_GRAVITY];
float[] outGeomagnetic = new float[SIZE_GEOMAGNETIC];
final String NO_DATA_Could_BE_READ = null;
boolean succeeded = SensorManager.getRotationMatrix(NOT_USED,NOT_USED,outGravity,outGeomagnetic);
if (!succeeded)
{
    return NO_DATA_Could_BE_READ;
}

Log.v("Test","This should be printed - but it isn't!!");

// Prepare the data to return.
final int X = 0,Y = 1,Z = 2;
final String FIELD_SEPARATOR = ",",VECTOR_SEPARATOR = ";";
String returnValue = "" +
    outGravity[X] + FIELD_SEPARATOR +
    outGravity[Y] + FIELD_SEPARATOR +
    outGravity[Z] + VECTOR_SEPARATOR + 
    outGeomagnetic[X] + FIELD_SEPARATOR +
    outGeomagnetic[Y] + FIELD_SEPARATOR +
    outGeomagnetic[Z];

// Return data.
return returnValue;

When sensormanager When getrotationmatrix (...) returns false, the eclipse debugger will display an IF statement (if (! Succeeded)) jump suddenly to return returnValue If no exception is thrown, logcat – even in verbose mode – will not receive an exception message It didn't even receive the message I entered in the code I tried the obvious method of cleaning up and restarting eclipse, but it didn't help I'm confused

The eclipse debugger told me that I was calling the second return statement However, adding other print statements to show will show that the first return statement is actually the arrived statement Maybe I stumbled upon an eclipse bug? Or can anyone explain this anomaly?

Solution

How are you sure it will jump to the last return? You have a return in if, which is likely to be called

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>