gpt4 book ai didi

java - 找出哪个实例在 try-catch block 中抛出异常

转载 作者:行者123 更新时间:2023-11-29 04:52:02 26 4
gpt4 key购买 nike

在 Java 中有什么方法可以找出“谁”/“什么”引发了异常?

考虑以下验证几个文本字段的代码(它们对哪些输入有效或无效有一定的限制)。我想将相应的文本字段标记为红色。

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();
}
}

我找到的唯一解决方案是扩展我的自定义异常以保存对 throw 文本字段的引用,难道没有更简单的方法吗?

最佳答案

您可以将代码分成两部分 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 block 中抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35104039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com