我有以下带有多个try ... 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();
}

最佳答案

如果您写的确实是适当的逻辑,则:

private void trySave(Whatever image. String file) {
   try {
       saveToInternalStorage(image.getDrawable().getBitmap(), file);
   }
   catch (Exception exc) {
        exc.printStackTrace();
   }
}


并称为

trySave(image1, imageFilename+"_1)";
trySave(image2, imageFilename+"_2");
trySave(image3, imageFilename+"_3");
trySave(image4, imageFilename+"_4");


子例程减少重复。

10-04 11:26