碰到运行异常时,记得在LogCat中寻找最后一个异常及其栈跟踪的第一行(对应着源代码)。这里是问题发生的地方,也是寻找解决方案的最佳起点。
记录栈跟踪日志
注释掉mCurrentIndex=(mCurrentIndex+1)%mQuestionBank.length; 再运行GeoQuiz应用,点击next按钮应用无响应。
创建一个全新Exception,把它作为不抛出的异常对象传入该方法,可以得到异常发声位置的记录报告。
运行GeoQuiz应用,点击next。栈跟踪日志的第一行即调用异常记录方法的地方,紧接着两行表面,updateQuestion()方法是onClick()实现方法里被调用的,点击该行链接跳转至注释掉的问题索引递增代码行。
断点调试