我正在使用if-else代码来检查字符串是否显示,令我惊讶的是Else部分根本没有被执行。
例如:如果显示错误字符串,则IF部分正常工作。如果未显示错误字符串,则不会执行Else部分。请帮助
if(getErrText.length() > 0) {
System.out.println(getErrText + " For "+ readerIterator);
} else {
System.out.println(" Error is not displayed - Err Cell" + " For "+ readerIterator);
}
答案 0 :(得分:1)
当我做出一些假设时,
public static void main(String[] args) {
String getErrText = ""; // <--------------- To trigger else.
String readerIterator = "Yes it is"; // <-- To display a message.
if (getErrText.length() > 0) { // <-------- else means that getErrText **must** be ""
System.out.println(getErrText + " For "
+ readerIterator);
} else {
System.out.println("Error is not displayed "
+ "- Err Cell For " + readerIterator);
}
}
输出
Error is not displayed - Err Cell For Yes it is
正如我所料。
修改强>
根据评论,您的实际问题可能是
之一// trim() the String!
if (getErrText != null && getErrText.trim().length() > 0) {
// as before...
}
或默默地吞咽你的异常。 请不要这样做。
try {
getErrText = toSearch.errorCell.getText();
getErrText = (getErrText != null) ? getErrText.trim() : "";
}catch(Exception e){
e.printStackTrace();
}
答案 1 :(得分:0)
您可能将其包含在设置了错误的块中,这就是您的getErrText长度始终大于零的原因。
请您添加封闭代码以获取错误文本
答案 2 :(得分:0)
要找出问题所在,请在其他方面打印错误:
System.out.println(" Error is not displayed - Err Cell" + " For "+ readerIterator+" The getErrText is ["+getErrText+"]);