cassandraemon (C# を使用した Apache Cassandra NoSQL) の使用を開始しましたが、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でのみです。このリンクで説明されている方法も役に立ちません。なぜなら、なぜ値が「unconfigured columnfamily schema_columnfamilies」で他の例外が発生するからです。
将来、他の文脈で必要になるかもしれないので、「なぜ」の内容を一般的にどのように読むかを知りたいです。また、チェックできる何らかの CqlResult 値を返すだけではなく、例外をスローするだけです。
CQLクエリの実行からキャッチされた例外の「Why」の値を確認する方法は?
よろしく!
PS隠しクロスポストを避けるために:https ://cassandraemon.codeplex.com/discussions/441028