Skip to content

Exceptions

Exception hierarchy (base: NaminterError). See API Reference for each class.

Core Exceptions

Base Exception

naminter.core.exceptions.NaminterError

NaminterError(message)

Bases: Exception

Base exception class for Naminter errors.

PARAMETER DESCRIPTION
message

Error message describing what went wrong.

TYPE: str

Network/HTTP Errors

naminter.core.exceptions.HttpError

HttpError(message)

Bases: NaminterError

Raised when network-related errors occur.

This includes connection failures, DNS resolution errors, and other network-level issues.

naminter.core.exceptions.HttpSessionError

HttpSessionError(message)

Bases: HttpError

Raised when HTTP session creation or management fails.

This includes session initialization errors, authentication failures, and session state management issues.

Data Processing Errors

naminter.core.exceptions.WMNDataError

WMNDataError(message)

Bases: NaminterError

Raised when there are issues with WMN data processing or validation.

This includes malformed data, parsing errors, and data integrity issues.

naminter.core.exceptions.WMNUninitializedError

WMNUninitializedError(message)

Bases: WMNDataError

Raised when WMN data is not initialized or missing.

This occurs when operations require WMN data but it hasn't been provided or loaded yet.

naminter.core.exceptions.WMNUnknownSiteError

WMNUnknownSiteError(message, site_names=None)

Bases: WMNDataError

Raised when a requested site name doesn't exist in the WMN dataset.

ATTRIBUTE DESCRIPTION
site_names

List of unknown site names that were requested.

TYPE: list[str]

Initialize WMNUnknownSiteError.

PARAMETER DESCRIPTION
message

Error message describing what went wrong.

TYPE: str

site_names

List of unknown site names that were requested.

TYPE: list[str] | None DEFAULT: None

site_names instance-attribute

site_names = site_names or []

naminter.core.exceptions.WMNUnknownCategoriesError

WMNUnknownCategoriesError(message, categories=None)

Bases: WMNDataError

Raised when requested categories don't exist in the WMN dataset.

ATTRIBUTE DESCRIPTION
categories

List of unknown category names that were requested.

TYPE: list[str]

Initialize WMNUnknownCategoriesError.

PARAMETER DESCRIPTION
message

Error message describing what went wrong.

TYPE: str

categories

List of unknown category names that were requested.

TYPE: list[str] | None DEFAULT: None

categories instance-attribute

categories = categories or []

naminter.core.exceptions.WMNSchemaError

WMNSchemaError(message)

Bases: WMNDataError

Raised when the WMN JSON Schema itself is invalid or cannot be used.

naminter.core.exceptions.WMNValidationError

WMNValidationError(message, schema_errors=None, dataset_errors=None)

Bases: WMNDataError

Raised when WMN dataset validation fails.

ATTRIBUTE DESCRIPTION
schema_errors

List of JSON schema validation errors.

TYPE: list[Any]

dataset_errors

List of custom dataset validation errors (license, authors, categories, duplicates, and site configurations).

TYPE: list[Any]

Initialize WMNValidationError.

PARAMETER DESCRIPTION
message

Error message describing what went wrong.

TYPE: str

schema_errors

List of JSON schema validation errors.

TYPE: list[Any] | None DEFAULT: None

dataset_errors

List of custom dataset validation errors.

TYPE: list[Any] | None DEFAULT: None

schema_errors instance-attribute

schema_errors = schema_errors or []

dataset_errors instance-attribute

dataset_errors = dataset_errors or []

naminter.core.exceptions.WMNArgumentError

WMNArgumentError(message)

Bases: WMNDataError

Raised when invalid arguments are passed to Naminter core APIs.

This is used for programmer / caller mistakes such as providing an empty username list where at least one username is required.

naminter.core.exceptions.WMNEnumerationError

WMNEnumerationError(message)

Bases: WMNDataError

Raised when site enumeration fails due to configuration errors.

This includes invalid headers, strip_bad_char configuration errors, and other site-specific configuration issues.

naminter.core.exceptions.WMNFormatError

WMNFormatError(message)

Bases: WMNDataError

Raised when WMN data formatting fails.

This includes JSON serialization errors, invalid data structure, and other formatting-related issues.

Common Exception Patterns

Handling Network Errors

from naminter.core.exceptions import HttpError, HttpSessionError

try:
    # Network operation
    pass
except HttpSessionError:
    # Handle session issues specifically
    pass
except HttpError:
    # Handle any other HTTP error
    pass

Handling Data Errors

from naminter.core.exceptions import (
    WMNDataError,
    WMNUninitializedError,
    WMNUnknownSiteError,
    WMNValidationError,
)

try:
    # WMN data operation
    pass
except WMNUninitializedError:
    # Data not loaded
    pass
except WMNUnknownSiteError as e:
    # Access unknown site names
    print(f"Unknown sites: {e.site_names}")
except WMNValidationError as e:
    # Access validation errors
    for error in e.schema_errors:
        print(f"Schema error: {error}")
    for error in e.dataset_errors:
        print(f"Dataset error: {error}")
except WMNDataError:
    # Handle any other data error
    pass