Coverage for coverage / exceptions.py: 100.000%

24 statements  

« prev     ^ index     » next       coverage.py v7.12.1a0.dev1, created at 2025-11-30 17:57 +0000

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

2# For details: https://github.com/coveragepy/coveragepy/blob/main/NOTICE.txt 

3 

4"""Exceptions coverage.py can raise.""" 

5 

6from __future__ import annotations 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

7 

8from typing import Any 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

9 

10 

11class CoverageException(Exception): 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

12 """The base class of all exceptions raised by Coverage.py.""" 

13 

14 def __init__( 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

15 self, 

16 *args: Any, 

17 slug: str | None = None, 

18 ) -> None: 

19 """Create an exception. 

20 

21 Args: 

22 slug: A short string identifying the exception, will be used for 

23 linking to documentation. 

24 """ 

25 

26 super().__init__(*args) 1abcdefghijklmnopqrstuvwxyzABCDEF5GH6IJ7KL8MN9OP!QR#ST$UV%WX'YZ(01)234

27 self.slug = slug 1abcdefghijklmnopqrstuvwxyzABCDEF5GH6IJ7KL8MN9OP!QR#ST$UV%WX'YZ(01)234

28 

29 

30class ConfigError(CoverageException): 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

31 """A problem with a config file, or a value in one.""" 

32 

33 pass 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

34 

35 

36class DataError(CoverageException): 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

37 """An error in using a data file.""" 

38 

39 pass 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

40 

41 

42class NoDataError(CoverageException): 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

43 """We didn't have data to work with.""" 

44 

45 pass 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

46 

47 

48class NoSource(CoverageException): 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

49 """We couldn't find the source for a module.""" 

50 

51 pass 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

52 

53 

54class NoCode(NoSource): 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

55 """We couldn't find any code at all.""" 

56 

57 pass 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

58 

59 

60class NotPython(CoverageException): 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

61 """A source file turned out not to be parsable Python.""" 

62 

63 pass 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

64 

65 

66class PluginError(CoverageException): 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

67 """A plugin misbehaved.""" 

68 

69 pass 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

70 

71 

72class _ExceptionDuringRun(CoverageException): 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

73 """An exception happened while running customer code. 

74 

75 Construct it with three arguments, the values from `sys.exc_info`. 

76 

77 """ 

78 

79 pass 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

80 

81 

82class CoverageWarning(Warning): 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234

83 """A warning from Coverage.py.""" 

84 

85 pass 1abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234