Я столкнулся с этой проблемой, когда пытался отловить neo4j ServiceUnavailabeException, который был внутри Spark Exception. Так что я не смог поймать Neo4j Exception напрямую. Вот мой код:
try {
val dataFrame = neo4jClient.cypher(
"match (d:News) " +
"return d.uid as newsUID"
).loadDataFrame
Some(dataFrame)
} catch {
case e: SparkException => println(e.getCause)
}
Результат println (e.getCause):
org.neo4j.driver.v1.exceptions.ServiceUnavailableException: Unable to connect to localhost:7683, ensure the database is running and that there is a working network connection to it
Вот мой вопрос, как я могу напрямую перехватить ServiceUnavailabeException? (Имеется в виду Как я могу получить причина ошибки напрямую?)