Java中有什么方法可以找出“谁” /“什么”引发了兴奋吗?

考虑下面的代码,该代码验证几个Textfields(对什么输入有效或无效有一定的约束)。我想将相应的文本字段标记为红色。

public void validateInput() {
    try {
        textfieldName.validate();
        textfieldAge.validate();
    } catch (InvalidInputExcpetion e) {
        // Pseudocode
        // e.getThrower() would get me the reference to the Object which threw the exception
        (TextField e.getThrower()).markRed();
    }
}


我发现的唯一解决方案是扩展我的自定义专有内容以保留对引发文本字段的引用,难道没有更简单的方法吗?

最佳答案

您可以将代码分成两个try catch

public void validateInput() {
    try {
        textfieldName.validate();
    } catch (InvalidInputExcpetion e) {
        // Error in the textfieldName
        // Eventually return if you need to validate only one field if an error is thrown
    }
    try {
        textfieldAge.validate();
    } catch (InvalidInputExcpetion e) {
        // Error in the textfieldAge
    }
}

关于java - 找出哪个实例在try-catch块中引发了异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35104039/

10-11 22:33
查看更多