【发布时间】:2011-03-17 17:28:13
【问题描述】:
我正在尝试开发适用于 Android 的应用程序,但在跟踪我在此过程中遇到的每个异常的来源和原因时遇到了困难。 我的代码在 Activity 中运行,如果我的一行导致异常,则不是在该行上停止并突出显示它,而是将我扔到 ActivityThread 类的代码中,显然我没有,所以我只是得到一个“找不到源”屏幕。
试图找到这样的麻烦行非常令人沮丧,所以我试图找到一种方法来防止Android的代码在开发过程中捕获每个异常。 我在网上的搜索没有提供关于我如何做到这一点的信息,所以我决定在这里问。
这是在我的代码中引发异常之前的堆栈跟踪:
线程 [ main](暂停 (GameView 中第 72 行的断点))
GameView.showMenu() 行:72
GameView.init() 行:59
游戏视图。(上下文, AttributeSet) 行:51
Constructor.constructNative(对象[], Class, Class[], int, boolean) 行: 不可用 [本机方法] Constructor.newInstance(对象...) 线路:415 PhoneLayoutInflater(LayoutInflater).createView(String, 字符串,属性集)行:505
PhoneLayoutInflater(LayoutInflater).createViewFromTag(String, AttributeSet) 行:570
PhoneLayoutInflater(LayoutInflater).rInflate(XmlPullParser, 视图,属性集)行:623 PhoneLayoutInflater(LayoutInflater).inflate(XmlPullParser, ViewGroup,布尔值)行:408 PhoneLayoutInflater(LayoutInflater).inflate(int, ViewGroup,布尔值)行:320 PhoneLayoutInflater(LayoutInflater).inflate(int, ViewGroup) 线路:276
PhoneWindow.setContentView(int) 行: 207
MainActivity(Activity).setContentView(int) 线路:1657
MainActivity.onCreate(Bundle) 行: 20
Instrumentation.callActivityOnCreate(活动, 捆绑)线路:1047
ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, 意图)线路:1586
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, 意图)线路:1638
ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, 意图)线:117 ActivityThread$H.handleMessage(消息) 线路:928 ActivityThread$H(Handler).dispatchMessage(Message) 行:99 Looper.loop() 行:123 ActivityThread.main(String[]) 行: 第3647章 对象[],类,类[],类,整数, boolean) 行:不可用 [native 方法] Method.invoke(对象, 对象...)行:507
ZygoteInit$MethodAndArgsCaller.run() 行:839 ZygoteInit.main(字符串 []) 行:597 NativeStart.main(字符串 []) 行:不可用[本机方法]
这是 Eclipse 因异常而停止执行后的堆栈跟踪:
线程 [ main](暂停 (异常运行时异常)) ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, 意图)线路:1622
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, 意图)线路:1638
ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, 意图)线:117 ActivityThread$H.handleMessage(消息) 线路:928 ActivityThread$H(Handler).dispatchMessage(Message) 行:99 Looper.loop() 行:123 ActivityThread.main(String[]) 行: 第3647章 对象[],类,类[],类,整数, boolean) 行:不可用 [native 方法] Method.invoke(对象, 对象...)行:507
ZygoteInit$MethodAndArgsCaller.run() 行:839 ZygoteInit.main(字符串 []) 行:597 NativeStart.main(字符串 []) 行:不可用[本机方法]
任何帮助将不胜感激。
【问题讨论】:
标签: android exception exception-handling