diff --git a/arrow-select/src/take.rs b/arrow-select/src/take.rs index 172e61dca7ec..d9a639da8066 100644 --- a/arrow-select/src/take.rs +++ b/arrow-select/src/take.rs @@ -420,7 +420,11 @@ fn take_bytes( nulls = Some(null_buf.into()) } - T::Offset::from_usize(values.len()).expect("offset overflow"); + T::Offset::from_usize(values.len()).ok_or(ArrowError::ComputeError(format!( + "Offset overflow for {}BinaryArray: {}", + T::Offset::PREFIX, + values.len() + )))?; let array_data = ArrayData::builder(T::DATA_TYPE) .len(data_len)