1###############################################################################
2#
3# Exceptions - A class for XlsxWriter exceptions.
4#
5# SPDX-License-Identifier: BSD-2-Clause
6#
7# Copyright (c) 2013-2025, John McNamara, jmcnamara@cpan.org
8#
9
10
11class XlsxWriterException(Exception):
12 """Base exception for XlsxWriter."""
13
14
15class XlsxInputError(XlsxWriterException):
16 """Base exception for all input data related errors."""
17
18
19class XlsxFileError(XlsxWriterException):
20 """Base exception for all file related errors."""
21
22
23class EmptyChartSeries(XlsxInputError):
24 """Chart must contain at least one data series."""
25
26
27class DuplicateTableName(XlsxInputError):
28 """Worksheet table name already exists."""
29
30
31class InvalidWorksheetName(XlsxInputError):
32 """Worksheet name is too long or contains restricted characters."""
33
34
35class DuplicateWorksheetName(XlsxInputError):
36 """Worksheet name already exists."""
37
38
39class OverlappingRange(XlsxInputError):
40 """Worksheet merge range or table overlaps previous range."""
41
42
43class UndefinedImageSize(XlsxFileError):
44 """No size data found in image file."""
45
46
47class UnsupportedImageFormat(XlsxFileError):
48 """Unsupported image file format."""
49
50
51class FileCreateError(XlsxFileError):
52 """IO error when creating xlsx file."""
53
54
55class FileSizeError(XlsxFileError):
56 """Filesize would require ZIP64 extensions. Use workbook.use_zip64()."""