gpt4 book ai didi

android - 如何处理try catch异常android

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:02:21 31 4
gpt4 key购买 nike

我正在使用一种方法 getBitmap 来显示图像。当我使用它作为方法时,如果它返回位图显示图像但如果它返回 null,则捕获异常。但如果输入的 url 也有误,它应该处理 FileNotFoundException。如何处理两个异常并在UI中显示?

public Bitmap getBitmap(final String src) {

try {
InputStream stream = null;
URL url = new URL(src);
java.net.URL url = new java.net.URL(src);
URLConnection connection = url.openConnection();

InputStream input = connection.getInputStream();
myBitmaps = BitmapFactory.decodeStream(input);
return myBitmaps;
} catch (IOException e) {
e.printStackTrace();
Log.e("IO","IO"+e);
return null;
}
catch(OutOfMemoryError e1) {
e1.printStackTrace();
Log.e("Memory exceptions","exceptions"+e1);
return null;
}
}

在Activity中,我是这样给出的

    Bitmap filename=service.getBitmap(url_box.getText().toString());
if(file_name!=null)
{
displaybitmap(file_name);
}
else
{ //Toast.makeText("Memory Error");
//my question is how to handle two exception in UI where memory error and also
// when entered url is wrong, file not found exceptions also to handle.
}

最佳答案

我真的,真的不推荐这个...

try {
...
} catch (Exception e) {
// This will catch any exception, because they are all descended from Exception
System.out.println("Error " + e.getMessage());
return null;
}

您是否正在查看堆栈跟踪来调试您的问题?追踪它们应该不难。查看 LogCat 并查看红色文本的大块以查看导致崩溃的方法以及错误是什么。

如果您以这种方式捕获所有错误,您的程序将不会按预期运行,并且当您的用户报告错误时,您将不会从 Android Market 获得错误报告。

您可以使用 UncaughtExceptionHandler 来防止某些崩溃。我使用一个,但仅用于将堆栈跟踪打印到文件中,因为当我在远离计算机的手机上调试应用程序时。但在完成此操作后,我将未捕获的异常传递给默认的 Android UncaughtExceptionHandler,因为我希望 Android 能够正确处理它,并让用户有机会向我发送堆栈跟踪。

关于android - 如何处理try catch异常android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22248311/

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