GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — cel-python/cel_expr_python/py_error_status.h at main · mmulqueen/cel-python Expand file tree/ Copy pathpy_error_status.hMore file actions 54 lines (44 loc) · 1.69 KB / Copy pathpy_error_status.hFile metadata and controls54 lines (44 loc) · 1.69 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 /* * Copyright 2025 Google LLC * * Licensed 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. */ #ifndef THIRD_PARTY_CEL_PYTHON_PY_ERROR_STATUS_H_ #define THIRD_PARTY_CEL_PYTHON_PY_ERROR_STATUS_H_ #include <stdexcept> #include <utility> #include "absl/status/status.h" #include "absl/status/statusor.h" #include "cel_expr_python/status_macros.h" #include <pybind11/pybind11.h> #define PY_CEL_PYTHON_ASSIGN_OR_RETURN(...) \ CEL_PYTHON_RETURN_IF_ERROR(PyErr_toStatus()); \ CEL_PYTHON_ASSIGN_OR_RETURN(__VA_ARGS__); \ CEL_PYTHON_RETURN_IF_ERROR(PyErr_toStatus()); namespace cel_python { std::runtime_error StatusToException(const absl::Status& status); void ThrowIfError(const absl::Status& status); template <typename T> T ThrowIfError(absl::StatusOr<T> status_or) { if (!status_or.ok()) { throw cel_python::StatusToException(status_or.status()); } return std::move(*status_or); } absl::Status PyErr_toStatus(); // Checks if there is a pending Python exception, and if so, stores it for a // later `PyErr_toStatus` call and clears the exception in order for the // runtime to be able to continue. void PyErr_noteAndClear(); } // namespace cel_python #endif // THIRD_PARTY_CEL_PYTHON_PY_ERROR_STATUS_H_ |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |