我最近创建了一个AlertDialog来通知用户并且发生了错误。在catch块中,我按如下方式设置了异常消息:
try {
// Do stuff
} catch (Exception e) {
mAlertDialog.setMessage(e.getMessage());
}
这完全正常,我在AlertDialog中看到的消息如下:
Read error: ssl=0xb832f3f0: I/O error during system call, Connection timed out
有没有办法删除文本,以便错误内容如下:
I/O error during system call, Connection timed out
我知道你可以使用
e.getMessage().substring()
e.getMessage().startsWith()
什么不是,但我真的希望在用户友好的合成中报告可能发生的任何类型的错误。也许使用正则表达式?我没有多少经验。我真的很感激正朝着正确的方向前进。我们非常感谢所有提示,提示,煽动和帮助。
提前致谢!
答案 0 :(得分:1)
您可以使用replaceFirst
。
mAlertDialog.setMessage(e.getMessage().replaceFirst(".*:\\s*", ""));
这将匹配并用空字符串替换最后一个冒号的所有字符。