Fer*_*jka 0 eiffel exception rescue post-conditions
我正在尝试使用下面的类中的异常,但是当我调用该kivetel方法时,程序总是失败。我认为它只会调用重试部分,而不是满足后置条件。但是它失败,并带有“ y_above_zero”后置违规。
class
KEYWORDS
create
make
feature
y:INTEGER
make
do
end
kivetel
do
ensure
y__above_zero: y > 0
rescue
y := 20
retry
end
end
Run Code Online (Sandbox Code Playgroud)
小智 5
在EiffelStudio(即调试器)下运行它时,这是预期的行为。如果您在外部运行它(例如从控制台运行),您将不会注意到任何事情,执行将通过救援子句并重试并按预期继续。
但是在调试器下,只要有断言冲突或异常,调试器就会捕获它并弹出对话框。
(请注意,如果确实让您感到困扰,则可以忽略特定类型的异常)。
| 归档时间: |
|
| 查看次数: |
161 次 |
| 最近记录: |