Showing content from https://cloud.google.com/cpp/docs/reference/bigtable/2.20.0/bigtable-error-handling below:
C++ Client Libraries | Google Cloud
Skip to main content
- Overview
-
Library reference docs
- Google Cloud Platform Bigtable C++ Client Library
-
Namespaces
-
google::cloud::bigtable
- Overview
-
Classes
-
AsyncRowReader<Unused1, Unused2>
-
Cell
- Overview
-
Constructors
- Cell(KeyType &&, std::string, ColumnType &&, std::int64_t, ValueType &&, std::vector< std::string >)
- Cell(KeyType &&, std::string, ColumnType &&, std::int64_t, std::int64_t, std::vector< std::string >)
- Cell(KeyType &&, std::string, ColumnType &&, std::int64_t, ValueType &&)
-
DataClient
- Overview
-
Functions
- MutateRow(grpc::ClientContext *, google::bigtable::v2::MutateRowRequest const &, google::bigtable::v2::MutateRowResponse *)
- AsyncMutateRow(grpc::ClientContext *, google::bigtable::v2::MutateRowRequest const &, grpc::CompletionQueue *)
- CheckAndMutateRow(grpc::ClientContext *, google::bigtable::v2::CheckAndMutateRowRequest const &, google::bigtable::v2::CheckAndMutateRowResponse *)
- AsyncCheckAndMutateRow(grpc::ClientContext *, google::bigtable::v2::CheckAndMutateRowRequest const &, grpc::CompletionQueue *)
- ReadModifyWriteRow(grpc::ClientContext *, google::bigtable::v2::ReadModifyWriteRowRequest const &, google::bigtable::v2::ReadModifyWriteRowResponse *)
- AsyncReadModifyWriteRow(grpc::ClientContext *, google::bigtable::v2::ReadModifyWriteRowRequest const &, grpc::CompletionQueue *)
- ReadRows(grpc::ClientContext *, google::bigtable::v2::ReadRowsRequest const &)
- AsyncReadRows(grpc::ClientContext *, google::bigtable::v2::ReadRowsRequest const &, grpc::CompletionQueue *, void *)
- PrepareAsyncReadRows(::grpc::ClientContext *, google::bigtable::v2::ReadRowsRequest const &, grpc::CompletionQueue *)
- SampleRowKeys(grpc::ClientContext *, google::bigtable::v2::SampleRowKeysRequest const &)
- AsyncSampleRowKeys(grpc::ClientContext *, google::bigtable::v2::SampleRowKeysRequest const &, grpc::CompletionQueue *, void *)
- virtual PrepareAsyncSampleRowKeys(grpc::ClientContext *, google::bigtable::v2::SampleRowKeysRequest const &, grpc::CompletionQueue *)
- MutateRows(grpc::ClientContext *, google::bigtable::v2::MutateRowsRequest const &)
- AsyncMutateRows(::grpc::ClientContext *, google::bigtable::v2::MutateRowsRequest const &, grpc::CompletionQueue *, void *)
- PrepareAsyncMutateRows(grpc::ClientContext *, google::bigtable::v2::MutateRowsRequest const &, grpc::CompletionQueue *)
- project_id() const
- instance_id() const
- Channel()
- reset()
- BackgroundThreadsFactory()
-
DataConnection
- Overview
-
Functions
- virtual options()
- virtual Apply(std::string const &, SingleRowMutation)
- virtual AsyncApply(std::string const &, SingleRowMutation)
- virtual BulkApply(std::string const &, BulkMutation)
- virtual AsyncBulkApply(std::string const &, BulkMutation)
- virtual ReadRows(std::string const &, RowSet, std::int64_t, Filter)
- virtual ReadRowsFull(ReadRowsParams)
- virtual ReadRow(std::string const &, std::string, Filter)
- virtual CheckAndMutateRow(std::string const &, std::string, Filter, std::vector< Mutation >, std::vector< Mutation >)
- virtual AsyncCheckAndMutateRow(std::string const &, std::string, Filter, std::vector< Mutation >, std::vector< Mutation >)
- virtual SampleRows(std::string const &)
- virtual AsyncSampleRows(std::string const &)
- virtual ReadModifyWriteRow(google::bigtable::v2::ReadModifyWriteRowRequest)
- virtual AsyncReadModifyWriteRow(google::bigtable::v2::ReadModifyWriteRowRequest)
- virtual AsyncReadRows(std::string const &, std::function< future< bool >(Row)>, std::function< void(Status)>, RowSet, std::int64_t, Filter)
- virtual AsyncReadRow(std::string const &, std::string, Filter)
-
DataLimitedErrorCountRetryPolicy
-
Filter
- Overview
-
Functions
- static ValueRangeLeftOpen(std::string, std::string)
- static ValueRangeRightOpen(std::string, std::string)
- static ValueRangeClosed(std::string, std::string)
- static ValueRangeOpen(std::string, std::string)
- static ColumnRangeRightOpen(std::string, std::string, std::string)
- static ColumnRangeLeftOpen(std::string, std::string, std::string)
- static ColumnRangeClosed(std::string, std::string, std::string)
- static ColumnRangeOpen(std::string, std::string, std::string)
- static Condition(Filter, Filter, Filter)
- static Chain(FilterTypes &&...)
- static ChainFromRange(Iterator, Iterator)
- static Interleave(FilterTypes &&...)
- static InterleaveFromRange(Iterator, Iterator)
- static Sink()
- as_proto() const &
- as_proto() &&
- static PassAllFilter()
- static BlockAllFilter()
- static Latest(std::int32_t)
- static FamilyRegex(std::string)
- static ColumnRegex(std::string)
- static ColumnRange(std::string, std::string, std::string)
- static ColumnName(std::string, std::string)
- static TimestampRangeMicros(std::int64_t, std::int64_t)
- static TimestampRange(std::chrono::duration< Rep1, Period1 >, std::chrono::duration< Rep2, Period2 >)
- static RowKeysRegex(std::string)
- static ValueRegex(std::string)
- static ValueRange(std::string, std::string)
- static CellsRowLimit(std::int32_t)
- static CellsRowOffset(std::int32_t)
- static RowSample(double)
- static StripValueTransformer()
- static ApplyLabelTransformer(std::string)
-
GenericPollingPolicy<Retry, Backoff>
-
InstanceAdmin
- Overview
-
Functions
- project_name() const
- project_id() const
- WithNewTarget(std::string) const
- InstanceName(std::string const &) const
- ClusterName(std::string const &, std::string const &) const
- AppProfileName(std::string const &, std::string const &) const
- CreateInstance(InstanceConfig)
- CreateCluster(ClusterConfig, std::string const &, std::string const &)
- UpdateInstance(InstanceUpdateConfig)
- ListInstances()
- GetInstance(std::string const &)
- DeleteInstance(std::string const &)
- ListClusters()
- ListClusters(std::string const &)
- UpdateCluster(ClusterConfig)
- DeleteCluster(std::string const &, std::string const &)
- GetCluster(std::string const &, std::string const &)
- CreateAppProfile(std::string const &, AppProfileConfig)
- GetAppProfile(std::string const &, std::string const &)
- UpdateAppProfile(std::string const &, std::string const &, AppProfileUpdateConfig)
- ListAppProfiles(std::string const &)
- DeleteAppProfile(std::string const &, std::string const &, bool)
- GetNativeIamPolicy(std::string const &)
- SetIamPolicy(std::string const &, google::iam::v1::Policy const &)
- TestIamPermissions(std::string const &, std::vector< std::string > const &)
-
RowReader
- Overview
-
Constructors
- RowReader()
- RowReader(std::shared_ptr< DataClient >, std::string, RowSet, std::int64_t, Filter, std::unique_ptr< RPCRetryPolicy >, std::unique_ptr< RPCBackoffPolicy >, MetadataUpdatePolicy, std::unique_ptr< internal::ReadRowsParserFactory >)
- RowReader(std::shared_ptr< DataClient >, std::string, std::string, RowSet, std::int64_t, Filter, std::unique_ptr< RPCRetryPolicy >, std::unique_ptr< RPCBackoffPolicy >, MetadataUpdatePolicy, std::unique_ptr< internal::ReadRowsParserFactory >)
- RowReader(RowReader &&)
-
Table
- Overview
-
Constructors
- Table(std::shared_ptr< bigtable::DataConnection >, TableResource, Options)
- Table(std::shared_ptr< DataClient >, std::string const &)
- Table(std::shared_ptr< DataClient >, std::string, std::string const &)
- Table(std::shared_ptr< DataClient >, std::string const &, Policies &&...)
- Table(std::shared_ptr< DataClient >, std::string, std::string const &, Policies &&...)
-
Functions
- table_name() const
- app_profile_id() const
- project_id() const
- instance_id() const
- table_id() const
- WithNewTarget(std::string, std::string, std::string) const
- WithNewTarget(std::string, std::string, std::string, std::string) const
- Apply(SingleRowMutation, Options)
- AsyncApply(SingleRowMutation, Options)
- BulkApply(BulkMutation, Options)
- AsyncBulkApply(BulkMutation, Options)
- ReadRows(RowSet, Filter, Options)
- ReadRows(RowSet, std::int64_t, Filter, Options)
- ReadRow(std::string, Filter, Options)
- CheckAndMutateRow(std::string, Filter, std::vector< Mutation >, std::vector< Mutation >, Options)
- AsyncCheckAndMutateRow(std::string, Filter, std::vector< Mutation >, std::vector< Mutation >, Options)
- SampleRows(Options)
- AsyncSampleRows(Options)
- ReadModifyWriteRow(std::string, bigtable::ReadModifyWriteRule, Args &&...)
- AsyncReadModifyWriteRow(std::string, bigtable::ReadModifyWriteRule, Args &&...)
- AsyncReadRows(RowFunctor, FinishFunctor, RowSet, Filter, Options)
- AsyncReadRows(RowFunctor, FinishFunctor, RowSet, std::int64_t, Filter, Options)
- AsyncReadRow(std::string, Filter, Options)
-
TableAdmin
- Overview
-
Functions
- project() const
- instance_id() const
- instance_name() const
- WithNewTarget(std::string, std::string) const
- CreateTable(std::string, TableConfig)
- ListTables(::google::bigtable::admin::v2::Table::View)
- GetTable(std::string const &, TableView)
- DeleteTable(std::string const &)
- CreateBackup(CreateBackupParams const &)
- GetBackup(std::string const &, std::string const &)
- UpdateBackup(UpdateBackupParams const &)
- DeleteBackup(std::string const &, std::string const &)
- DeleteBackup(google::bigtable::admin::v2::Backup const &)
- ListBackups(ListBackupsParams const &)
- RestoreTable(RestoreTableParams const &)
- RestoreTable(RestoreTableFromInstanceParams)
- ModifyColumnFamilies(std::string const &, std::vector< ColumnFamilyModification >)
- DropRowsByPrefix(std::string const &, std::string)
- GenerateConsistencyToken(std::string const &)
- CheckConsistency(std::string const &, std::string const &)
- WaitForConsistency(std::string const &, std::string const &)
- DropAllRows(std::string const &)
- GetIamPolicy(std::string const &)
- GetIamPolicy(std::string const &, std::string const &)
- SetIamPolicy(std::string const &, google::iam::v1::Policy const &)
- SetIamPolicy(std::string const &, std::string const &, google::iam::v1::Policy const &)
- TestIamPermissions(std::string const &, std::vector< std::string > const &)
- TestIamPermissions(std::string const &, std::string const &, std::vector< std::string > const &)
- TableName(std::string const &) const
- ClusterName(std::string const &) const
- BackupName(std::string const &, std::string const &) const
-
Functions
- DeleteFromColumn(std::string, ColumnType &&, std::chrono::duration< Rep1, Period1 >, std::chrono::duration< Rep2, Period2 >)
- DeleteFromColumnStartingFrom(std::string, ColumnType &&, std::chrono::duration< Rep1, Period1 >)
- DeleteFromColumnEndingAt(std::string, ColumnType &&, std::chrono::duration< Rep2, Period2 >)
- DeleteFromColumn(std::string, ColumnType &&)
- MakeAdminClient(std::string, Options)
- CreateDefaultAdminClient(std::string, ClientOptions)
- SetCell(Cell)
- MakeDataClient(std::string, std::string, Options)
- CreateDefaultDataClient(std::string, std::string, ClientOptions)
- InstanceName(std::shared_ptr< DataClient > const &)
- MakeDataConnection(Options)
- Expression(std::string, std::string, std::string, std::string)
- IamBinding(std::string, InputIt, InputIt)
- IamBinding(std::string, InputIt, InputIt, google::type::Expr)
- IamBinding(std::string, std::initializer_list< std::string >)
- IamBinding(std::string, std::initializer_list< std::string >, google::type::Expr)
- IamBinding(std::string, std::vector< std::string >)
- IamBinding(std::string, std::vector< std::string >, google::type::Expr)
- IamBindingAppendMembers(google::iam::v1::Binding, InputIt, InputIt)
- IamBindingSetCondition(google::iam::v1::Binding, google::type::Expr)
- IamPolicy(InputIt, InputIt, std::string, std::int32_t)
- IamPolicy(std::initializer_list< google::iam::v1::Binding >, std::string, std::int32_t)
- IamPolicy(std::vector< google::iam::v1::Binding >, std::string, std::int32_t)
- RemoveBindingsFromPolicyIf(google::iam::v1::Policy &, Functor)
- RemoveBindingFromPolicy(google::iam::v1::Policy &, google::protobuf::RepeatedPtrField< google::iam::v1::Binding >::iterator)
- DefaultIdempotentMutationPolicy()
- MakeInstanceAdminClient(std::string, Options)
- CreateDefaultInstanceAdminClient(std::string, ClientOptions)
- MakeInstanceResource(std::string const &)
- ServerSetTimestamp()
- SetCell(std::string, ColumnType &&, std::chrono::milliseconds, ValueType &&)
- SetCell(std::string, ColumnType &&, std::chrono::milliseconds, std::int64_t)
- SetCell(std::string, ColumnType &&, ValueType &&)
- SetCell(std::string, ColumnType &&, std::int64_t)
- DeleteFromFamily(std::string)
- DeleteFromRow()
- DefaultPollingPolicy(internal::RPCPolicyParameters)
- InstanceName(std::string const &, std::string const &)
- TableName(std::string const &, std::string const &, std::string const &)
- ClusterName(std::string const &, std::string const &, std::string const &)
- AppProfileName(std::string const &, std::string const &, std::string const &)
- BackupName(std::string const &, std::string const &, std::string const &, std::string const &)
- DefaultRPCBackoffPolicy(internal::RPCPolicyParameters)
- DefaultRPCRetryPolicy(internal::RPCPolicyParameters)
- TableName(std::shared_ptr< DataClient > const &, std::string const &)
- MakeTableResource(std::string const &)
- version_major()
- version_minor()
- version_patch()
- version_pre_release()
- version()
- version_string()
-
google::cloud::bigtable::experimental
-
google::cloud::bigtable_admin
- Overview
-
Classes
-
BigtableInstanceAdminClient
- Overview
-
Functions
- CreateInstance(std::string const &, std::string const &, google::bigtable::admin::v2::Instance const &, std::map< std::string, google::bigtable::admin::v2::Cluster > const &, Options)
- CreateInstance(google::bigtable::admin::v2::CreateInstanceRequest const &, Options)
- GetInstance(std::string const &, Options)
- GetInstance(google::bigtable::admin::v2::GetInstanceRequest const &, Options)
- ListInstances(std::string const &, Options)
- ListInstances(google::bigtable::admin::v2::ListInstancesRequest const &, Options)
- UpdateInstance(google::bigtable::admin::v2::Instance const &, Options)
- PartialUpdateInstance(google::bigtable::admin::v2::Instance const &, google::protobuf::FieldMask const &, Options)
- PartialUpdateInstance(google::bigtable::admin::v2::PartialUpdateInstanceRequest const &, Options)
- DeleteInstance(std::string const &, Options)
- DeleteInstance(google::bigtable::admin::v2::DeleteInstanceRequest const &, Options)
- CreateCluster(std::string const &, std::string const &, google::bigtable::admin::v2::Cluster const &, Options)
- CreateCluster(google::bigtable::admin::v2::CreateClusterRequest const &, Options)
- GetCluster(std::string const &, Options)
- GetCluster(google::bigtable::admin::v2::GetClusterRequest const &, Options)
- ListClusters(std::string const &, Options)
- ListClusters(google::bigtable::admin::v2::ListClustersRequest const &, Options)
- UpdateCluster(google::bigtable::admin::v2::Cluster const &, Options)
- PartialUpdateCluster(google::bigtable::admin::v2::Cluster const &, google::protobuf::FieldMask const &, Options)
- PartialUpdateCluster(google::bigtable::admin::v2::PartialUpdateClusterRequest const &, Options)
- DeleteCluster(std::string const &, Options)
- DeleteCluster(google::bigtable::admin::v2::DeleteClusterRequest const &, Options)
- CreateAppProfile(std::string const &, std::string const &, google::bigtable::admin::v2::AppProfile const &, Options)
- CreateAppProfile(google::bigtable::admin::v2::CreateAppProfileRequest const &, Options)
- GetAppProfile(std::string const &, Options)
- GetAppProfile(google::bigtable::admin::v2::GetAppProfileRequest const &, Options)
- ListAppProfiles(std::string const &, Options)
- ListAppProfiles(google::bigtable::admin::v2::ListAppProfilesRequest, Options)
- UpdateAppProfile(google::bigtable::admin::v2::AppProfile const &, google::protobuf::FieldMask const &, Options)
- UpdateAppProfile(google::bigtable::admin::v2::UpdateAppProfileRequest const &, Options)
- DeleteAppProfile(google::bigtable::admin::v2::DeleteAppProfileRequest const &, Options)
- GetIamPolicy(std::string const &, Options)
- GetIamPolicy(google::iam::v1::GetIamPolicyRequest const &, Options)
- SetIamPolicy(std::string const &, google::iam::v1::Policy const &, Options)
- SetIamPolicy(std::string const &, IamUpdater const &, Options)
- SetIamPolicy(google::iam::v1::SetIamPolicyRequest const &, Options)
- TestIamPermissions(std::string const &, std::vector< std::string > const &, Options)
- TestIamPermissions(google::iam::v1::TestIamPermissionsRequest const &, Options)
- ListHotTablets(std::string const &, Options)
- ListHotTablets(google::bigtable::admin::v2::ListHotTabletsRequest, Options)
-
BigtableInstanceAdminConnection
-
BigtableInstanceAdminConnectionIdempotencyPolicy
-
BigtableInstanceAdminLimitedErrorCountRetryPolicy
-
BigtableInstanceAdminLimitedTimeRetryPolicy
-
BigtableInstanceAdminRetryPolicy
-
BigtableTableAdminClient
- Overview
-
Functions
- CreateTable(std::string const &, std::string const &, google::bigtable::admin::v2::Table const &, Options)
- CreateTable(google::bigtable::admin::v2::CreateTableRequest const &, Options)
- ListTables(std::string const &, Options)
- ListTables(google::bigtable::admin::v2::ListTablesRequest, Options)
- GetTable(std::string const &, Options)
- GetTable(google::bigtable::admin::v2::GetTableRequest const &, Options)
- UpdateTable(google::bigtable::admin::v2::Table const &, google::protobuf::FieldMask const &, Options)
- UpdateTable(google::bigtable::admin::v2::UpdateTableRequest const &, Options)
- DeleteTable(std::string const &, Options)
- DeleteTable(google::bigtable::admin::v2::DeleteTableRequest const &, Options)
- UndeleteTable(std::string const &, Options)
- UndeleteTable(google::bigtable::admin::v2::UndeleteTableRequest const &, Options)
- ModifyColumnFamilies(std::string const &, std::vector< google::bigtable::admin::v2::ModifyColumnFamiliesRequest::Modification > const &, Options)
- ModifyColumnFamilies(google::bigtable::admin::v2::ModifyColumnFamiliesRequest const &, Options)
- DropRowRange(google::bigtable::admin::v2::DropRowRangeRequest const &, Options)
- GenerateConsistencyToken(std::string const &, Options)
- GenerateConsistencyToken(google::bigtable::admin::v2::GenerateConsistencyTokenRequest const &, Options)
- CheckConsistency(std::string const &, std::string const &, Options)
- CheckConsistency(google::bigtable::admin::v2::CheckConsistencyRequest const &, Options)
- CreateBackup(std::string const &, std::string const &, google::bigtable::admin::v2::Backup const &, Options)
- CreateBackup(google::bigtable::admin::v2::CreateBackupRequest const &, Options)
- GetBackup(std::string const &, Options)
- GetBackup(google::bigtable::admin::v2::GetBackupRequest const &, Options)
- UpdateBackup(google::bigtable::admin::v2::Backup const &, google::protobuf::FieldMask const &, Options)
- UpdateBackup(google::bigtable::admin::v2::UpdateBackupRequest const &, Options)
- DeleteBackup(std::string const &, Options)
- DeleteBackup(google::bigtable::admin::v2::DeleteBackupRequest const &, Options)
- ListBackups(std::string const &, Options)
- ListBackups(google::bigtable::admin::v2::ListBackupsRequest, Options)
- RestoreTable(google::bigtable::admin::v2::RestoreTableRequest const &, Options)
- CopyBackup(std::string const &, std::string const &, std::string const &, google::protobuf::Timestamp const &, Options)
- CopyBackup(google::bigtable::admin::v2::CopyBackupRequest const &, Options)
- GetIamPolicy(std::string const &, Options)
- GetIamPolicy(google::iam::v1::GetIamPolicyRequest const &, Options)
- SetIamPolicy(std::string const &, google::iam::v1::Policy const &, Options)
- SetIamPolicy(std::string const &, IamUpdater const &, Options)
- SetIamPolicy(google::iam::v1::SetIamPolicyRequest const &, Options)
- TestIamPermissions(std::string const &, std::vector< std::string > const &, Options)
- TestIamPermissions(google::iam::v1::TestIamPermissionsRequest const &, Options)
- AsyncCheckConsistency(std::string const &, std::string const &, Options)
- AsyncCheckConsistency(google::bigtable::admin::v2::CheckConsistencyRequest const &, Options)
-
BigtableTableAdminConnectionIdempotencyPolicy
-
BigtableTableAdminLimitedErrorCountRetryPolicy
-
BigtableTableAdminLimitedTimeRetryPolicy
-
Structs
-
BigtableInstanceAdminBackoffPolicyOption
-
BigtableInstanceAdminConnectionIdempotencyPolicyOption
-
BigtableInstanceAdminPollingPolicyOption
-
BigtableInstanceAdminRetryPolicyOption
-
BigtableTableAdminBackoffPolicyOption
-
BigtableTableAdminConnectionIdempotencyPolicyOption
-
BigtableTableAdminPollingPolicyOption
-
BigtableTableAdminRetryPolicyOption
-
google::cloud::bigtable_admin_mocks
-
google::cloud::bigtable_mocks
- Overview
-
Classes
-
MockDataConnection
- Overview
-
Functions
- virtual options()
- virtual Apply(std::string const &, SingleRowMutation)
- virtual AsyncApply(std::string const &, SingleRowMutation)
- virtual BulkApply(std::string const &, BulkMutation)
- virtual AsyncBulkApply(std::string const &, BulkMutation)
- virtual ReadRows(std::string const &, RowSet, std::int64_t, Filter)
- virtual ReadRowsFull(ReadRowsParams)
- virtual ReadRow(std::string const &, std::string, Filter)
- virtual CheckAndMutateRow(std::string const &, std::string, Filter, std::vector< Mutation >, std::vector< Mutation >)
- virtual AsyncCheckAndMutateRow(std::string const &, std::string, Filter, std::vector< Mutation >, std::vector< Mutation >)
- virtual SampleRows(std::string const &)
- virtual AsyncSampleRows(std::string const &)
- virtual ReadModifyWriteRow(google::bigtable::v2::ReadModifyWriteRowRequest)
- virtual AsyncReadModifyWriteRow(google::bigtable::v2::ReadModifyWriteRowRequest)
- virtual AsyncReadRows(std::string const &, std::function< future< bool >(Row)>, std::function< void(Status)>, RowSet, std::int64_t, Filter)
- virtual AsyncReadRow(std::string const &, std::string, Filter)
Stay organized with collections Save and categorize content based on your preferences.
Error Handling
This library never throws exceptions to signal error. In general, the library returns a StatusOr if an error is possible. Some functions return objects that are not wrapped in a StatusOr<T>
but will themselves return a StatusOr<T>
to signal an error. For example, wrappers for asynchronous operations return future<StatusOr<T>>
.
Applications should check if the StatusOr<T>
contains a value before using it, much like how you might check that a pointer is not null before dereferencing it. Indeed, a StatusOr<T>
object can be used like a smart-pointer to T
, with the main difference being that when it does not hold a T
it will instead hold a Status
object with extra information about the error.
You can check that a StatusOr<T>
contains a value by calling the .ok()
method, or by using operator bool()
(like with other smart pointers). If there is no value, you can access the contained Status
object using the .status()
member. If there is a value, you may access it by dereferencing with operator*()
or operator->()
. As with all smart pointers, callers must first check that the StatusOr<T>
contains a value before dereferencing and accessing the contained value. Alternatively, callers may instead use the .value()
member function which is defined to throw a RuntimeStatusError if there is no value.
Note: If you're compiling with exceptions disabled, calling .value()
on a StatusOr<T>
that does not contain a value will terminate the program instead of throwing. Example
namespace cbt = ::google::cloud::bigtable;
using ::google::cloud::StatusOr;
[](google::cloud::bigtable::Table table, std::string const& row_key) {
StatusOr<std::pair<bool, cbt::Row>> tuple = table.ReadRow(
row_key, cbt::Filter::ColumnName("stats_summary", "os_build"));
if (!tuple) throw std::move(tuple).status();
if (!tuple->first) {
std::cout << "Row " << row_key << " not found\n";
return;
}
PrintRow(tuple->second);
}
See Also
google::cloud::StatusOr
See Also
google::cloud::Status
the class used to describe errors.
See Also
google::cloud::future
for more details on the type returned by asynchronous operations.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["The library avoids throwing exceptions for errors, instead utilizing `StatusOr` to indicate if an operation was successful or encountered an error."],["Applications should check if a `StatusOr\u003cT\u003e` contains a value before using it, similar to checking if a pointer is not null, by using the `.ok()` method or `operator bool()`."],["If a `StatusOr\u003cT\u003e` does not contain a value, the `.status()` member can be used to retrieve the `Status` object detailing the error, otherwise, the contained value can be accessed using `operator*()` or `operator-\u003e()`."],["Alternatively, `.value()` can be used to retrieve the contained value, which will throw a `RuntimeStatusError` if there is no value, or terminate the program if exceptions are disabled."],["The documentation provides links to `google::cloud::StatusOr`, `google::cloud::Status`, and `google::cloud::future` for further details on error handling and asynchronous operations."]]],[]]
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4