ThreadVerificationException class final
Thrown when applyWrites reports something other than the thread that was
built.
Raised only after the batch has been committed, so it never means "the thread was not published" -- it means the published thread does not match the reply chain that was computed for it, or, when inconclusive, that nothing came back to compare it against.
rkeys and uris are the records the batch wrote, so the thread stays reachable from the exception alone -- which is the whole difference between a recoverable failure and a lost one, given that the commit has already happened:
try {
await bluesky.feed.createThreadAtomic(posts: posts);
} on ThreadVerificationException catch (e) {
if (e.inconclusive) {
// The thread is committed; ask the repository what it stored.
final post = await bluesky.feed.post.get(uri: e.uris.first);
}
}
- Implemented types
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- inconclusive → bool
-
Whether the thread could not be checked at all, rather than checked and
found wrong.
final
- index → int?
-
The position in the thread of the post at fault, when one post is.
final
- localCid → String?
-
The CID computed locally for the post at index.
final
- message → String
-
The human readable error message.
final
-
rkeys
→ List<
String> -
The record key of each post the batch wrote, in post order.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- serverCid → String?
-
The CID the repository reports for the post at index.
final
-
uris
→ List<
AtUri> -
The AT-URI of each post the batch wrote, in post order.
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited