This is an automated email from the ASF dual-hosted git repository.

viirya pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/master by this push:
     new 1b06d78db5 Propagate error instead of panic for `take_bytes` (#5395)
1b06d78db5 is described below

commit 1b06d78db5c3350be9637d60cec7071d82e46797
Author: Liang-Chi Hsieh <[email protected]>
AuthorDate: Tue Feb 13 06:34:29 2024 -0800

    Propagate error instead of panic for `take_bytes` (#5395)
    
    * Propagate Error instead of panic
    
    * Improve error message
---
 arrow-select/src/take.rs | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/arrow-select/src/take.rs b/arrow-select/src/take.rs
index 172e61dca7..d9a639da80 100644
--- a/arrow-select/src/take.rs
+++ b/arrow-select/src/take.rs
@@ -420,7 +420,11 @@ fn take_bytes<T: ByteArrayType, IndexType: 
ArrowPrimitiveType>(
         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)

Reply via email to