Struct aws_sdk_dynamodb::error::ExecuteStatementError
source · #[non_exhaustive]pub struct ExecuteStatementError {
pub kind: ExecuteStatementErrorKind,
/* private fields */
}
Expand description
Error type for the ExecuteStatement
operation.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.kind: ExecuteStatementErrorKind
Kind of error that occurred.
Implementations§
source§impl ExecuteStatementError
impl ExecuteStatementError
sourcepub fn new(kind: ExecuteStatementErrorKind, meta: Error) -> Self
pub fn new(kind: ExecuteStatementErrorKind, meta: Error) -> Self
Creates a new ExecuteStatementError
.
sourcepub fn unhandled(err: impl Into<Box<dyn Error + Send + Sync + 'static>>) -> Self
pub fn unhandled(err: impl Into<Box<dyn Error + Send + Sync + 'static>>) -> Self
Creates the ExecuteStatementError::Unhandled
variant from any error type.
Examples found in repository?
2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568
pub fn parse_execute_statement_error(
response: &http::Response<bytes::Bytes>,
) -> std::result::Result<crate::output::ExecuteStatementOutput, crate::error::ExecuteStatementError>
{
let generic = crate::json_deser::parse_http_generic_error(response)
.map_err(crate::error::ExecuteStatementError::unhandled)?;
let error_code = match generic.code() {
Some(code) => code,
None => return Err(crate::error::ExecuteStatementError::unhandled(generic)),
};
let _error_message = generic.message().map(|msg| msg.to_owned());
Err(match error_code {
"ConditionalCheckFailedException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::ConditionalCheckFailedException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::conditional_check_failed_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_conditional_check_failed_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"DuplicateItemException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::DuplicateItemException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::duplicate_item_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_duplicate_item_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"InternalServerError" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::InternalServerError({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::internal_server_error::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_internal_server_error_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ItemCollectionSizeLimitExceededException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::ItemCollectionSizeLimitExceededException(
{
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]let mut output = crate::error::item_collection_size_limit_exceeded_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_item_collection_size_limit_exceeded_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
},
),
},
"ProvisionedThroughputExceededException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::ProvisionedThroughputExceededException(
{
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]let mut output = crate::error::provisioned_throughput_exceeded_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_provisioned_throughput_exceeded_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
},
),
},
"RequestLimitExceeded" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::RequestLimitExceeded({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::request_limit_exceeded::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_request_limit_exceeded_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ResourceNotFoundException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::ResourceNotFoundException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::resource_not_found_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_resource_not_found_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"TransactionConflictException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::TransactionConflictException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::transaction_conflict_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_transaction_conflict_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
_ => crate::error::ExecuteStatementError::generic(generic),
})
}
sourcepub fn generic(err: Error) -> Self
pub fn generic(err: Error) -> Self
Creates the ExecuteStatementError::Unhandled
variant from a aws_smithy_types::Error
.
Examples found in repository?
2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568
pub fn parse_execute_statement_error(
response: &http::Response<bytes::Bytes>,
) -> std::result::Result<crate::output::ExecuteStatementOutput, crate::error::ExecuteStatementError>
{
let generic = crate::json_deser::parse_http_generic_error(response)
.map_err(crate::error::ExecuteStatementError::unhandled)?;
let error_code = match generic.code() {
Some(code) => code,
None => return Err(crate::error::ExecuteStatementError::unhandled(generic)),
};
let _error_message = generic.message().map(|msg| msg.to_owned());
Err(match error_code {
"ConditionalCheckFailedException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::ConditionalCheckFailedException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::conditional_check_failed_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_conditional_check_failed_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"DuplicateItemException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::DuplicateItemException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::duplicate_item_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_duplicate_item_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"InternalServerError" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::InternalServerError({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::internal_server_error::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_internal_server_error_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ItemCollectionSizeLimitExceededException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::ItemCollectionSizeLimitExceededException(
{
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]let mut output = crate::error::item_collection_size_limit_exceeded_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_item_collection_size_limit_exceeded_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
},
),
},
"ProvisionedThroughputExceededException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::ProvisionedThroughputExceededException(
{
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]let mut output = crate::error::provisioned_throughput_exceeded_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_provisioned_throughput_exceeded_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
},
),
},
"RequestLimitExceeded" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::RequestLimitExceeded({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::request_limit_exceeded::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_request_limit_exceeded_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"ResourceNotFoundException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::ResourceNotFoundException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output = crate::error::resource_not_found_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_resource_not_found_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
"TransactionConflictException" => crate::error::ExecuteStatementError {
meta: generic,
kind: crate::error::ExecuteStatementErrorKind::TransactionConflictException({
#[allow(unused_mut)]
let mut tmp = {
#[allow(unused_mut)]
let mut output =
crate::error::transaction_conflict_exception::Builder::default();
let _ = response;
output = crate::json_deser::deser_structure_crate_error_transaction_conflict_exception_json_err(response.body().as_ref(), output).map_err(crate::error::ExecuteStatementError::unhandled)?;
output.build()
};
if tmp.message.is_none() {
tmp.message = _error_message;
}
tmp
}),
},
_ => crate::error::ExecuteStatementError::generic(generic),
})
}
sourcepub fn meta(&self) -> &Error
pub fn meta(&self) -> &Error
Returns error metadata, which includes the error code, message, request ID, and potentially additional information.
sourcepub fn request_id(&self) -> Option<&str>
pub fn request_id(&self) -> Option<&str>
Returns the request ID if it’s available.
sourcepub fn is_conditional_check_failed_exception(&self) -> bool
pub fn is_conditional_check_failed_exception(&self) -> bool
Returns true
if the error kind is ExecuteStatementErrorKind::ConditionalCheckFailedException
.
sourcepub fn is_duplicate_item_exception(&self) -> bool
pub fn is_duplicate_item_exception(&self) -> bool
Returns true
if the error kind is ExecuteStatementErrorKind::DuplicateItemException
.
sourcepub fn is_internal_server_error(&self) -> bool
pub fn is_internal_server_error(&self) -> bool
Returns true
if the error kind is ExecuteStatementErrorKind::InternalServerError
.
sourcepub fn is_item_collection_size_limit_exceeded_exception(&self) -> bool
pub fn is_item_collection_size_limit_exceeded_exception(&self) -> bool
Returns true
if the error kind is ExecuteStatementErrorKind::ItemCollectionSizeLimitExceededException
.
sourcepub fn is_provisioned_throughput_exceeded_exception(&self) -> bool
pub fn is_provisioned_throughput_exceeded_exception(&self) -> bool
Returns true
if the error kind is ExecuteStatementErrorKind::ProvisionedThroughputExceededException
.
sourcepub fn is_request_limit_exceeded(&self) -> bool
pub fn is_request_limit_exceeded(&self) -> bool
Returns true
if the error kind is ExecuteStatementErrorKind::RequestLimitExceeded
.
sourcepub fn is_resource_not_found_exception(&self) -> bool
pub fn is_resource_not_found_exception(&self) -> bool
Returns true
if the error kind is ExecuteStatementErrorKind::ResourceNotFoundException
.
sourcepub fn is_transaction_conflict_exception(&self) -> bool
pub fn is_transaction_conflict_exception(&self) -> bool
Returns true
if the error kind is ExecuteStatementErrorKind::TransactionConflictException
.