我和我的朋友对异常有一些争论。他建议使用Exception作为响应的某种传输器(我们不能只返回它)。我说它与OOP规则相矛盾,他说这没关系,因为应用程序流程已经改变,信息已经通过。
你能帮我们解决纠纷吗?
function example() {
result = pdo.find();
if (result) {
e = new UniqueException();
e.setExistingItem(result);
throw new e;
}
}
try {
this.example();
} catch (UniqueException e) {
this.response(e.getExistingItem());
}
答案 0 :(得分:0)
使用应用程序流的异常是一种误导性的做法。维护代码的任何其他人(甚至是你)都会感到困惑,因为你的流中异常的功能与异常的语义完全不同。
我想你之所以这样做是因为你想要返回不同的结果。为此,创建一个新类Result
,它保存所有信息并通过if
语句对其作出反应。