Files
semantic-kernel/python/semantic_kernel/kernel_exception.py
T
Abby Harrison c9b9220333 Refactor 'AI Backend' -> 'AI Service'; Move AI Namespace to semantic_kernel.connectors.ai (#595)
### Motivation and Context
This PR is a consistency update between the Python and .NET Semantic
Kernels.

**This PR does not contain any feature enhancements or improvements!**

### Description
- Replace terminology 'backend' with 'service'
- Move semantic_kernel.ai (semantic_kernel/ai) to
semantic_kernel.connectors.ai (semantic_kernel/connectors/ai)
2023-04-25 00:01:16 +00:00

57 lines
1.6 KiB
Python

# Copyright (c) Microsoft. All rights reserved.
from enum import Enum
from typing import Optional
class KernelException(Exception):
class ErrorCodes(Enum):
# Unknown error.
UnknownError = -1
# Invalid function description.
InvalidFunctionDescription = 0
# Function overload not supported.
FunctionOverloadNotSupported = 1
# Function not available.
FunctionNotAvailable = 2
# Function type not supported.
FunctionTypeNotSupported = 3
# Invalid function type.
InvalidFunctionType = 4
# Invalid service configuration.
InvalidServiceConfiguration = 5
# Service not found.
ServiceNotFound = 6
# Skill collection not set.
SkillCollectionNotSet = 7
# Ambiguous implementation.
AmbiguousImplementation = 8
# The error code.
_error_code: ErrorCodes
def __init__(
self,
error_code: ErrorCodes,
message: str,
inner_exception: Optional[Exception] = None,
) -> None:
"""Initializes a new instance of the KernelError class.
Arguments:
error_code {ErrorCodes} -- The error code.
message {str} -- The error message.
inner_exception {Exception} -- The inner exception.
"""
super().__init__(error_code, message, inner_exception)
self._error_code = error_code
@property
def error_code(self) -> ErrorCodes:
"""Gets the error code.
Returns:
ErrorCodes -- The error code.
"""
return self._error_code