Buckets:
ktongue/OnedriveENISE / ENISE1 /hf_env /lib /python3.14 /site-packages /pyarrow /include /parquet /exception.h
| // Licensed to the Apache Software Foundation (ASF) under one | |
| // or more contributor license agreements. See the NOTICE file | |
| // distributed with this work for additional information | |
| // regarding copyright ownership. The ASF licenses this file | |
| // to you under the Apache License, Version 2.0 (the | |
| // "License"); you may not use this file except in compliance | |
| // with the License. You may obtain a copy of the License at | |
| // | |
| // http://www.apache.org/licenses/LICENSE-2.0 | |
| // | |
| // Unless required by applicable law or agreed to in writing, | |
| // software distributed under the License is distributed on an | |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| // KIND, either express or implied. See the License for the | |
| // specific language governing permissions and limitations | |
| // under the License. | |
| // Disable warning for STL types usage in DLL interface | |
| // https://web.archive.org/web/20130317015847/http://connect.microsoft.com/VisualStudio/feedback/details/696593/vc-10-vs-2010-basic-string-exports | |
| // Disable diamond inheritance warnings | |
| // Disable macro redefinition warnings | |
| // Disable extern before exported template warnings | |
| // PARQUET-1085 | |
| // Parquet exception to Arrow Status | |
| // clang-format off | |
| // clang-format on | |
| // Arrow Status to Parquet exception | |
| namespace parquet { | |
| class PARQUET_EXPORT ParquetException : public std::exception { | |
| public: | |
| PARQUET_NORETURN static void EofException(const std::string& msg = "") { | |
| static std::string prefix = "Unexpected end of stream"; | |
| if (msg.empty()) { | |
| throw ParquetException(prefix); | |
| } | |
| throw ParquetException(prefix, ": ", msg); | |
| } | |
| PARQUET_NORETURN static void NYI(const std::string& msg = "") { | |
| throw ParquetException("Not yet implemented: ", msg, "."); | |
| } | |
| template <typename... Args> | |
| explicit ParquetException(Args&&... args) | |
| : msg_(::arrow::internal::JoinToString(std::forward<Args>(args)...)) {} | |
| explicit ParquetException(std::string msg) : msg_(std::move(msg)) {} | |
| explicit ParquetException(const char* msg, const std::exception&) : msg_(msg) {} | |
| ParquetException(const ParquetException&) = default; | |
| ParquetException& operator=(const ParquetException&) = default; | |
| ParquetException(ParquetException&&) = default; | |
| ParquetException& operator=(ParquetException&&) = default; | |
| const char* what() const noexcept override { return msg_.c_str(); } | |
| private: | |
| std::string msg_; | |
| }; | |
| // Support printing a ParquetException. | |
| // This is needed for clang-on-MSVC as there operator<< is not defined for | |
| // std::exception. | |
| PARQUET_EXPORT | |
| std::ostream& operator<<(std::ostream& os, const ParquetException& exception); | |
| class ParquetStatusException : public ParquetException { | |
| public: | |
| explicit ParquetStatusException(::arrow::Status status) | |
| : ParquetException(status.ToString()), status_(std::move(status)) {} | |
| const ::arrow::Status& status() const { return status_; } | |
| private: | |
| ::arrow::Status status_; | |
| }; | |
| // This class exists for the purpose of detecting an invalid or corrupted file. | |
| class ParquetInvalidOrCorruptedFileException : public ParquetStatusException { | |
| public: | |
| ParquetInvalidOrCorruptedFileException(const ParquetInvalidOrCorruptedFileException&) = | |
| default; | |
| template <typename Arg, | |
| typename std::enable_if< | |
| !std::is_base_of<ParquetInvalidOrCorruptedFileException, Arg>::value, | |
| int>::type = 0, | |
| typename... Args> | |
| explicit ParquetInvalidOrCorruptedFileException(Arg arg, Args&&... args) | |
| : ParquetStatusException(::arrow::Status::Invalid(std::forward<Arg>(arg), | |
| std::forward<Args>(args)...)) {} | |
| }; | |
| template <typename StatusReturnBlock> | |
| void ThrowNotOk(StatusReturnBlock&& b) { | |
| PARQUET_THROW_NOT_OK(b()); | |
| } | |
| } // namespace parquet | |
Xet Storage Details
- Size:
- 6.1 kB
- Xet hash:
- 21802128cd798a8b3b4e026e02eb233e6c6be423eca91424d1e748a4d8fa7756
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.