Struct std::string::FromUtf8Error
pub struct FromUtf8Error { /* fields omitted */ }
A possible error value when converting a String
from a UTF-8 byte vector.
This type is the error type for the from_utf8
method on String
. It is designed in such a way to carefully avoid reallocations: the into_bytes
method will give back the byte vector that was used in the conversion attempt.
The Utf8Error
type provided by std::str
represents an error that may occur when converting a slice of u8
s to a &str
. In this sense, it’s an analogue to FromUtf8Error
, and you can get one from a FromUtf8Error
through the utf8_error
method.
Examples
Basic usage:
// some invalid bytes, in a vector let bytes = vec![0, 159]; let value = String::from_utf8(bytes); assert!(value.is_err()); assert_eq!(vec![0, 159], value.unwrap_err().into_bytes());
Implementations
impl FromUtf8Error
pub fn as_bytes(&self) -> &[u8]
Returns a slice of u8
s bytes that were attempted to convert to a String
.
Examples
Basic usage:
// some invalid bytes, in a vector let bytes = vec![0, 159]; let value = String::from_utf8(bytes); assert_eq!(&[0, 159], value.unwrap_err().as_bytes());
pub fn into_bytes(self) -> Vec<u8, Global>
Returns the bytes that were attempted to convert to a String
.
This method is carefully constructed to avoid allocation. It will consume the error, moving out the bytes, so that a copy of the bytes does not need to be made.
Examples
Basic usage:
// some invalid bytes, in a vector let bytes = vec![0, 159]; let value = String::from_utf8(bytes); assert_eq!(vec![0, 159], value.unwrap_err().into_bytes());
pub fn utf8_error(&self) -> Utf8Error
Fetch a Utf8Error
to get more details about the conversion failure.
The Utf8Error
type provided by std::str
represents an error that may occur when converting a slice of u8
s to a &str
. In this sense, it’s an analogue to FromUtf8Error
. See its documentation for more details on using it.
Examples
Basic usage:
// some invalid bytes, in a vector let bytes = vec![0, 159]; let error = String::from_utf8(bytes).unwrap_err().utf8_error(); // the first byte is invalid here assert_eq!(1, error.valid_up_to());
Trait Implementations
impl Clone for FromUtf8Error
pub fn clone(&self) -> FromUtf8Error
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for FromUtf8Error
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl Display for FromUtf8Error
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl Error for FromUtf8Error
fn description(&self) -> &str
use the Display impl or to_string()
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
fn backtrace(&self) -> Option<&Backtrace>
Returns a stack backtrace, if available, of where this error occurred. Read more
fn cause(&self) -> Option<&dyn Error>
replaced by Error::source, which can support downcasting
impl PartialEq<FromUtf8Error> for FromUtf8Error
pub fn eq(&self, other: &FromUtf8Error) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
pub fn ne(&self, other: &FromUtf8Error) -> bool
This method tests for !=
.
impl Eq for FromUtf8Error
impl StructuralEq for FromUtf8Error
impl StructuralPartialEq for FromUtf8Error
Auto Trait Implementations
impl RefUnwindSafe for FromUtf8Error
impl Send for FromUtf8Error
impl Sync for FromUtf8Error
impl Unpin for FromUtf8Error
impl UnwindSafe for FromUtf8Error
Blanket Implementations
impl<T> From<T> for T
pub fn from(t: T) -> T
Performs the conversion.
pub fn into(self) -> U
Performs the conversion.
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
#41263)recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
Performs the conversion.
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
Performs the conversion.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/string/struct.FromUtf8Error.html