如何找到scala.MatchError的来源?

时间:2015-07-16 23:56:07

标签: string scala debugging

我在Scala中有一个解析器程序向它发送string并打破字符串和解析。我得到以下错误,我甚至不知道该程序的哪个部分是错误的:

 Exception in thread "main" scala.MatchError: xxxx/xml/test3D.xml (of class java.lang.String)

我需要检查哪些可能性以及解决这类错误的最佳方法是什么?

1 个答案:

答案 0 :(得分:9)

有异常发生的确切地方,在本文件中用文件名和行号说明。例如,查看此堆栈跟踪:

Exception in thread "main" scala.MatchError: 7 (of class java.lang.Integer)
at stackoverflow.M$.delayedEndpoint$stackoverflow$M$1(Functions.scala:35)
at stackoverflow.M$delayedInit$body.apply(Functions.scala:30)
at scala.Function0$class.apply$mcV$sp(Function0.scala:40)

您可以在此处看到异常原因在 Functions.scala 文件中 35 。堆栈跟踪中的第二行是抛出异常的行。检查这一行!

只要对象没有匹配模式匹配表达式的任何模式,就会发生MatchError。