scala Map to Seq和map()突然失败,没有错误

时间:2016-07-13 19:48:21

标签: scala

我有以下代码。这里发生了一些可疑的事情。

/* 1. */ case class DBCurrencyRate(currency: String, dateTime: Timestamp, rateToEuro: Double)
/* 2. */ val rates: Map[String, Double] = ...
/* 3. */ val seqRates = rates.toSeq.map(rate =>
/* 4. */  DBCurrencyRate(rate._1, new Timestamp(date.toInstant.toEpochMilli), rate._2)
/* 5. */ )
/* 6. */ val action = DBIO.seq(seqRates)

在第一行我宣布我的案例类。时间戳为java.sql.Timestamp

在第二行,我宣布了一张带费率的地图。

在第三行,我将地图转换为应用地图的序列。

现在,如果我在第4行和第6行放置一个断点,它将到达第4行的断点。如果我尝试在调试器中转到下一行,甚至跳过(执行)直到我在第6行的下一个断点,执行突然转到某处。我不知道在哪里,它没有显示任何东西。日志中不会出现任何考试或其他错误。

如果我将rates.seq......替换为DBIO.seq(DBCurrencyRate("EUR", new Timestamp(date.toInstant.toEpochMilli), 2.42)),它将有效。

1 个答案:

答案 0 :(得分:0)

根据Dima的建议,我使用了try-catch,并在创建UnsupportedOperationException时捕获了Timestamp。问题是我向Int发送了一个非常小的Timestamp