我有以下代码。这里发生了一些可疑的事情。
/* 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))
,它将有效。
答案 0 :(得分:0)
根据Dima的建议,我使用了try-catch,并在创建UnsupportedOperationException
时捕获了Timestamp
。问题是我向Int
发送了一个非常小的Timestamp
。