是否有一种简单的方法可以捕获宏扩展期间抛出的错误?
假设我有以下代码。当我调用它时,我希望能够捕获并检查RuntimeException
引发的fooMacro
。
def foo: Unit = macro fooMacro
def fooMacro(c: scala.reflect.macros.whitebox.Context) = {
throw new RuntimeException("bar")
}
答案 0 :(得分:0)
你可能希望你能提供一个会收到异常的Reporter
,但实际上它已经在蛋糕中加了字符串:
还有-Ymacro-debug-verbose。