Я начал использовать cassandraemon (Apache Cassandra NoSQL с C#), и мне просто интересно, есть ли способ прочитать значение «Почему» в исключении, полученном при выполнении запроса CQL?
Когда я делаю следующее:
try
{
CqlResult createResult = context.ExecuteCqlQuery(createTableCql);
}
catch (Exception exc)
{
if (exc.Why.Contains("already existing"))
{ // Why = org.apache.cassandra.exceptions.AlreadyExistsException: Cannot add already existing column family "nameOfColumn" to keyspace "nameOfKeyspace"
}
}
Я никак не могу получить доступ Почему в exc.
Что я хочу сделать, так это проверить, существует ли уже таблица. Я знаю, что могу проверить это, как здесь (Как проверить, является ли таблица Cassandra существует), однако только в CQL3. Способ, описанный в этой ссылке, тоже не помогает, потому что я получаю другое исключение со значением «Почему» «ненастроенное семейство столбцов schema_columnfamilies».
Я хотел бы знать, как читать содержание «Почему» в целом, потому что мне это может понадобиться в другом контексте в будущем. И он не просто возвращает какое-то значение CqlResult, которое я могу проверить, он просто генерирует исключение.
Как проверить значение «Почему» в перехваченном исключении при выполнении запроса CQL?
С уважением!
PS Во избежание скрытого кросспостинга: https://cassandraemon.codeplex.com/discussions/441028