diff options
-rw-r--r-- | docs/index.rst | 7 | ||||
-rw-r--r-- | mastodon/Mastodon.py | 18 |
2 files changed, 19 insertions, 6 deletions
diff --git a/docs/index.rst b/docs/index.rst index 11b655a..fae8b2d 100644 --- a/docs/index.rst +++ b/docs/index.rst | |||
@@ -112,12 +112,17 @@ Error handling | |||
112 | When Mastodon.py encounters an error, it will raise an exception, generally with | 112 | When Mastodon.py encounters an error, it will raise an exception, generally with |
113 | some text included to tell you what went wrong. | 113 | some text included to tell you what went wrong. |
114 | 114 | ||
115 | The base class that all mastodon exceptions inherit from is the MastodonError | ||
116 | class. If you are only interested in the fact an error was raised somewhere in | ||
117 | Mastodon.py, and not the details, this is the exception you can catch. | ||
118 | |||
115 | MastodonIllegalArgumentError is generally a programming problem - you asked the | 119 | MastodonIllegalArgumentError is generally a programming problem - you asked the |
116 | API to do something obviously invalid (i.e. specify a privacy scope that does | 120 | API to do something obviously invalid (i.e. specify a privacy scope that does |
117 | not exist). | 121 | not exist). |
118 | 122 | ||
119 | MastodonFileNotFoundError and MastodonNetworkError are IO errors - could be you | 123 | MastodonFileNotFoundError and MastodonNetworkError are IO errors - could be you |
120 | specified a wrong URL, could be the internet is down or your hard drive is dying. | 124 | specified a wrong URL, could be the internet is down or your hard drive is |
125 | dying. They inherit from MastodonIOError, for easy catching. | ||
121 | 126 | ||
122 | MastodonAPIError is an error returned from the Mastodon instance - the server | 127 | MastodonAPIError is an error returned from the Mastodon instance - the server |
123 | has decided it can't fullfill your request (i.e. you requested info on a user that | 128 | has decided it can't fullfill your request (i.e. you requested info on a user that |
diff --git a/mastodon/Mastodon.py b/mastodon/Mastodon.py index 49db771..8634fd1 100644 --- a/mastodon/Mastodon.py +++ b/mastodon/Mastodon.py | |||
@@ -1280,21 +1280,29 @@ class Mastodon: | |||
1280 | ## | 1280 | ## |
1281 | # Exceptions | 1281 | # Exceptions |
1282 | ## | 1282 | ## |
1283 | class MastodonIllegalArgumentError(ValueError): | 1283 | class MastodonError(Exception): |
1284 | """Base class for Mastodon.py exceptions""" | ||
1285 | |||
1286 | |||
1287 | class MastodonIllegalArgumentError(ValueError, MastodonError): | ||
1284 | pass | 1288 | pass |
1285 | 1289 | ||
1286 | 1290 | ||
1287 | class MastodonFileNotFoundError(IOError): | 1291 | class MastodonIOError(IOError, MastodonError): |
1292 | """Base class for Mastodon.py I/O errors""" | ||
1293 | |||
1294 | |||
1295 | class MastodonFileNotFoundError(MastodonIOError): | ||
1288 | pass | 1296 | pass |
1289 | 1297 | ||
1290 | 1298 | ||
1291 | class MastodonNetworkError(IOError): | 1299 | class MastodonNetworkError(MastodonIOError): |
1292 | pass | 1300 | pass |
1293 | 1301 | ||
1294 | 1302 | ||
1295 | class MastodonAPIError(Exception): | 1303 | class MastodonAPIError(MastodonError): |
1296 | pass | 1304 | pass |
1297 | 1305 | ||
1298 | 1306 | ||
1299 | class MastodonRatelimitError(Exception): | 1307 | class MastodonRatelimitError(MastodonError): |
1300 | pass | 1308 | pass |