Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在将 scala 'try/catch' 测试代码转换为使用 'intercept'
有没有我不应该使用“拦截”的场景?使用“拦截”而不是“尝试/捕获”的唯一好处是简洁?
我认为主要区别在于它intercept的语义是你得到的异常是预期的,而不是由程序错误引起的。
intercept
因此,我通常只intercept在用户输入不正确或类似情况时测试异常将正确抛出的测试用例使用。
一个实际的优点是它intercept也返回一个Exception,所以你可以像这样检查它:
Exception
intercept[IndexOutOfBoundsException](s charAt -1).getMessage should be === "..."