【发布时间】:2011-12-28 20:05:39
【问题描述】:
我有以下代码 sn-p,我正在考虑将其重构为更抽象的应用程序异常处理程序,但我想先确保它尽可能整洁
关于如何改进此代码或使其更可重复使用的任何建议
int id = -1;
final StringBuilder errorMessage = new StringBuilder("Bad Input Value: ");
try {
id = Integer.parseInt(edtId.getText().toString());
} catch (final NumberFormatException e) {
errorMessage.append("Failed to parse id " + e.getMessage());
}
if (id < 0) {
errorToast(errorMessage.toString());
} else {
//go ahead an retreive values from database knowing the id has been parsed
//correctly to a positive int.
}
【问题讨论】:
-
如果用户在文本字段中输入“-1”会怎样?
-
它会小于零还是我遗漏了什么?
-
在这种情况下 errorMessage.toString() 将是一个空白字符串,不是特别有用
-
您的逻辑假定小于 0 的值是错误的。如果用户输入了一个负值,您会假设存在解析错误。至于您的问题,这取决于应用程序和设计。脱离上下文很难一概而论。你如何报告错误?信息?把盒子变成红色?变量很多。
-
我已经编辑了字符串构造函数以消除您突出显示的歧义。
标签: java android validation exception-handling