java – Eclipse调试器跳转到错误的return语句
发布时间:2020-12-15 08:42:00 所属栏目:Java 来源:网络整理
导读:我遇到了一个非常奇怪的情况.我在 Android 2.1平台上使用Java(通过Eclipse Galileo)执行以下操作: // Get gravity geomagnetic data to return to the caller.final int SIZE_GRAVITY = 3,SIZE_GEOMAGNETIC = 3;final float[] NOT_USED = null;float[] outG
我遇到了一个非常奇怪的情况.我在
Android 2.1平台上使用Java(通过Eclipse Galileo)执行以下操作:
// 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; 当SensorManager.getRotationMatrix(…)返回false时,Eclipse调试器会显示if语句(if(!succeeded))突然跳转以返回returnValue;.抛出没有异常,LogCat – 即使在详细模式下 – 也不会收到异常消息.它甚至没有收到我在代码中输入的消息.我尝试了明显的清理和重启Eclipse方法,但没有帮助.我很困惑. Eclipse调试器告诉我正在调用第二个return语句.但是,在show中添加其他print语句会显示第一个return语句实际上是到达的语句.也许我偶然发现了一个Eclipse bug?或者任何人都可以解释这种异常现象? 解决方法
你怎么确定它会跳到最后一次回归?你在if中有一个返回,这很可能是这个被调用的.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |