eigent/backend/app/exception/exception.py

46 lines
1.4 KiB
Python

# ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. =========
# 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.
# ========= Copyright 2025-2026 @ Eigent.ai All Rights Reserved. =========
class UserException(Exception):
def __init__(
self,
code: int,
description: str,
*,
error_code: str | None = None,
):
self.code = code
self.description = description
self.error_code = error_code
class TokenException(Exception):
def __init__(self, code: int, text: str):
self.code = code
self.text = text
class NoPermissionException(Exception):
def __init__(self, text: str):
self.text = text
class ProgramException(Exception):
def __init__(self, text: str):
self.text = text
class PathEscapesBaseError(ValueError):
"""Raised when a path resolves outside its allowed base directory."""