gpt4 book ai didi

android - 如何防止在 Android 中捕获异常?

转载 作者:太空狗 更新时间:2023-10-29 15:37:23 24 4
gpt4 key购买 nike

我正在尝试开发适用于 Android 的应用程序,但我在追踪过程中遇到的每个异常的来源和原因时遇到了困难。我的代码在一个 Activity 中运行,如果我的一行导致异常,那么它不会在该行停止并突出显示它,而是将我抛入 ActivityThread 类的代码,显然我没有,所以我只是得到一个“找不到源”屏幕。

试图找到像这样麻烦的行是非常令人沮丧的,所以我试图找到一种方法来防止 Android 的代码在开发过程中捕获每个异常。我的在线搜索没有提供有关我如何进行此操作的任何信息,因此我决定在这里提问。

这是在我的代码中抛出异常之前的堆栈跟踪:

Thread [<1> main] (Suspended (breakpoint at line 72 in GameView))
GameView.showMenu() line: 72
GameView.init() line: 59
GameView.(Context, AttributeSet) line: 51
Constructor.constructNative(Object[], Class, Class[], int, boolean) line: not available [native method] Constructor.newInstance(Object...) line: 415 PhoneLayoutInflater(LayoutInflater).createView(String, String, AttributeSet) line: 505
PhoneLayoutInflater(LayoutInflater).createViewFromTag(String, AttributeSet) line: 570
PhoneLayoutInflater(LayoutInflater).rInflate(XmlPullParser, View, AttributeSet) line: 623 PhoneLayoutInflater(LayoutInflater).inflate(XmlPullParser, ViewGroup, boolean) line: 408 PhoneLayoutInflater(LayoutInflater).inflate(int, ViewGroup, boolean) line: 320 PhoneLayoutInflater(LayoutInflater).inflate(int, ViewGroup) line: 276
PhoneWindow.setContentView(int) line: 207
MainActivity(Activity).setContentView(int) line: 1657
MainActivity.onCreate(Bundle) line: 20
Instrumentation.callActivityOnCreate(Activity, Bundle) line: 1047
ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1586
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1638
ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 117 ActivityThread$H.handleMessage(Message) line: 928 ActivityThread$H(Handler).dispatchMessage(Message) line: 99 Looper.loop() line: 123 ActivityThread.main(String[]) line: 3647 Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method] Method.invoke(Object, Object...) line: 507
ZygoteInit$MethodAndArgsCaller.run() line: 839 ZygoteInit.main(String[]) line: 597 NativeStart.main(String[]) line: not available [native method]

这是 Eclipse 由于异常而停止执行后的堆栈跟踪:

Thread [<1> main] (Suspended (exception RuntimeException)) ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1622
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 1638
ActivityThread.access$1500(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 117 ActivityThread$H.handleMessage(Message) line: 928 ActivityThread$H(Handler).dispatchMessage(Message) line: 99 Looper.loop() line: 123 ActivityThread.main(String[]) line: 3647 Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method] Method.invoke(Object, Object...) line: 507
ZygoteInit$MethodAndArgsCaller.run() line: 839 ZygoteInit.main(String[]) line: 597 NativeStart.main(String[]) line: not available [native method]

如有任何帮助,我们将不胜感激。

最佳答案

当调试器像这样中断时,继续执行(可能需要执行 2 或 3 次)。然后查看 LogCat 输出以获得有意义的堆栈跟踪。

关于android - 如何防止在 Android 中捕获异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5342829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com