捕获Scala宏扩展错误

捕获Scala宏扩展错误,scala,macros,Scala,Macros,是否有一种简单的方法可以捕获宏扩展期间抛出的错误 假设我有以下代码。当我调用它时,我希望能够捕获并检查fooMacro引发的RuntimeException def foo:Unit=macro foo宏 def fooMacro(c:scala.reflect.macros.whitebox.Context)={ 抛出新的运行时异常(“bar”) } 您可能希望您可以提供一个报告器,该报告器将接收异常,但实际上它在蛋糕中被严格化了: 还有-Ymacro-debug-verbose。您可能希望

是否有一种简单的方法可以捕获宏扩展期间抛出的错误

假设我有以下代码。当我调用它时,我希望能够捕获并检查
fooMacro
引发的
RuntimeException

def foo:Unit=macro foo宏
def fooMacro(c:scala.reflect.macros.whitebox.Context)={
抛出新的运行时异常(“bar”)
}

您可能希望您可以提供一个
报告器
,该报告器将接收异常,但实际上它在蛋糕中被严格化了:


还有-Ymacro-debug-verbose。

您可能希望提供一个
报告程序
,该报告程序将接收异常,但实际上它在蛋糕中被字符串化了:

还有-Ymacro调试详细