java - 反正有没有使用多次尝试和一次捕获?
问题描述
我有以下代码,多次尝试...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();
}
解决方案
是的......但是评论中提出的问题是有效的
- 为什么你需要这样做
- 为什么你会为此失败而高兴
- 你为什么忽略错误
- 如果 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();
}
}
推荐阅读
- outlook - VSTO:当单击仅更新表单区域的插件自定义功能区按钮时强制显示保存对话框
- google-apps-script - 优化脚本运行时收集大量电子表格选项卡信息
- google-apps-script - 为什么经常出现“ReferenceError: Drive is not defined”?
- python-3.x - 如何从命令行激活 PyTest 夹具?
- java - 滚动到 EditText 字段时隐藏键盘问题
- c# - C# 自定义属性传递给被调用的方法
- c# - C# 行程申请 - 在继续之前重复查询
- google-cloud-platform - GCP / Cloud Functions 是否有类似 AWS Lambda 层的库概念?
- python - 使用请求python模块发送删除请求但正文只是字符串而不是json?
- javascript - Datatables jQuery 获取行数据移动/PC 视图