首页 > 解决方案 > 反正有没有使用多次尝试和一次捕获?

问题描述

我有以下代码,多次尝试...catch,有没有办法让它更简单?

try {
    saveToInternalStorage(((BitmapDrawable) image1.getDrawable()).getBitmap(), imageFilename + "_1");
} catch (Exception e) {
    e.printStackTrace();
}
try {
    saveToInternalStorage(((BitmapDrawable) image2.getDrawable()).getBitmap(), imageFilename + "_2");
} catch (Exception e) {
    e.printStackTrace();
}
try {
    saveToInternalStorage(((BitmapDrawable) image3.getDrawable()).getBitmap(), imageFilename + "_3");
} catch (Exception e) {
    e.printStackTrace();
}
try {
    saveToInternalStorage(((BitmapDrawable) image4.getDrawable()).getBitmap(), imageFilename + "_4");
} catch (Exception e) {
    e.printStackTrace();
}

标签: javac#androidc#-4.0

解决方案


是的......但是评论中提出的问题是有效的

  1. 为什么你需要这样做
  2. 为什么你会为此失败而高兴
  3. 你为什么忽略错误
  4. 如果 1 失败了,让他们都失败不是很好吗

所有这些。这是飞溅的代码

var array = new[]{ image1, image2, image3, image4 };

for (var i = 0; i < array.Length; i++)
{
   try
   {
      saveToInternalStorage(array[i].getDrawable().getBitmap(), $"{imageFilename}_{i + 1}");
   }
   catch (Exception e)
   {
      e.printStackTrace();
   }
}

推荐阅读