我的应用程序有四个级别:(1)我的应用程序,(2)pivot4j,(3)olap4j和(4)Mondrian
如果我在Scala中运行此代码:
try {
renderer.render(model, new HtmlRenderCallback(sw))
}
catch {
case ex: Exception => println(ex.getMessage)
}
应用程序打印pivot4j引发的错误:
org.olap4j.OlapException: mondrian gave exception while parsing query
如果我没有捕获到错误,则堆栈跟踪是(以粗体显示相关消息):
play.api.http.HttpErrorHandlerExceptions $$ anon $ 1:执行异常[[PivotException:org.olap4j.OlapException:mondrian在解析查询时给出异常]] at play.api.http.HttpErrorHandlerExceptions $ .throwableToUsefulException(HttpErrorHandler.scala:293 )play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:220)at play.api.GlobalSettings $ class.onError(GlobalSettings.scala:160)at play.api.DefaultGlobal $ .onError(GlobalSettings.scala:188) )at play.api.http.GlobalSettingsHttpErrorHandler.onServerError(HttpErrorHandler.scala:100)at play.core.server.netty.PlayRequestHandler $$ anonfun $ 2 $$ anonfun $ apply $ 1.applyOrElse(PlayRequestHandler.scala:100)at play . core.server.netty.PlayRequestHandler $$ anonfun $ 2 $$ anonfun $ apply $ 1.applyOrElse(PlayRequestHandler.scala:99)at scala.concurrent.Future $$ anonfun $ recoverwith $ 1.apply(Future.scala:346)at scala . concurrent.Future $$ anonfun $ recoverWith $ 1.apply(Future.scala:345)at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:3 6)由以下原因引起:org.pivot4j.PivotException:org.olap4j.OlapException:mondrian在org.pivot4j.ui.TableRenderer的org.pivot4j.impl.PivotModelImpl.getCellSet(PivotModelImpl.java:598)中解析查询时给出异常.render(TableRenderer.java:425)位于olap.process.RunOlap.doRunMdx(RunOlap.scala:91)at olap.process.RunOlap $$ anonfun $ runMdx $ 1.apply(RunOlap.scala:53)at olap.process . 登录时RunOlap $$ anonfun $ runMdx $ 1.apply(RunOlap.scala:51) . 登录时验证$ LoggedAction $$ anonfun $ invokeBlock $ 1.apply(LoggedAction.scala:47) . 身份验证$ LoggedAction $$ anonfun $ invokeBlock $ 1 . 申请(LoggedAction.scala:42)at scala.concurrent.Future $$ anonfun $ flatMap $ 1.apply(Future.scala:253)at scala.concurrent.Future $$ anonfun $ flatMap $ 1.apply(Future.scala:251)在scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)引起:org.olap4j.OlapException:mondrian在mondrian.olap4j.MondrianOlap4jConnection $ Helper.createException(MondrianOlap4jConnection.java:858)解析查询时给出异常在mondrian.olap4j.MondrianOlap4jStatement.parseQuery(MondrianOlap4jStatement.java:375)的mondrian.olap4j.MondrianOlap4jStatement.executeOlapQuery(MondrianOlap4jStatement.java:346)org.pivot4j.impl.PivotModelImpl.executeMdx(PivotModelImpl.java:646)at org . pivot4j.impl.PivotModelImpl.getCellSet(PivotModelImpl.java:596)org.pivot4j.ui.table.TableRenderer.render(TableRenderer.java:425)at olap.process.RunOlap.doRunMdx(RunOlap.scala:91)at olap .process.RunOlap $$ anonfun $ runMdx $ 1.apply(RunOlap.scala:53)at atlap.process.RunOlap $$ anonfun $ runMdx $ 1.apply(RunOlap.scala:51)at login.Authentication $ LoggedAction $$ anonfun $ invokeBlock $ 1.apply(LoggedAction.scala:47)引起:mondrian.olap.MondrianException:Mondrian错误:多维数据集'Sales'中找不到MDX对象'[Measures] . [Unit Cost]'
蒙德里安是一个发起错误的人,我需要得到抛出的信息:
MDX object '[Measures].[Unit Cost]' not found in cube 'Sales'
我试过了:
try {
renderer.render(model, new HtmlRenderCallback(sw))
}
catch {
case ex: MondrianException => println(ex.getMessage)
}
但是没有 grab 错误 .