如何处理try catch异常android

前端之家收集整理的这篇文章主要介绍了如何处理try catch异常android前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用方法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;
        }
        }

在活动中,我已经这样给了

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电子市场获得错误报告.

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

猜你在找的Android相关文章