Exceptions in PRAW
******************

In addition to exceptions under the "praw.exceptions" namespace shown
below, exceptions might be raised that inherit from
"prawcore.PrawcoreException". Please see the following resource for
information on those exceptions: https://github.com/praw-
dev/prawcore/blob/master/prawcore/exceptions.py


praw.exceptions
===============

PRAW exception classes.

Includes two main exceptions: "RedditAPIException" for when something
goes wrong on the server side, and "ClientException" when something
goes wrong on the client side. Both of these classes extend
"PRAWException".

All other exceptions are subclassed from "ClientException".

exception praw.exceptions.APIException(items: Union[List[Union[praw.exceptions.RedditErrorItem, List[str], str]], str], *optional_args: str)

   Old class preserved for alias purposes.

   Deprecated since version 7.0: Class "APIException" has been
   deprecated in favor of "RedditAPIException". This class will be
   removed in PRAW 8.0.

   __init__(items: Union[List[Union[praw.exceptions.RedditErrorItem, List[str], str]], str], *optional_args: str)

      Initialize an instance of RedditAPIException.

      Parameters:
         * **items** – Either a list of instances of "RedditErrorItem"
           or a list containing lists of unformed errors.

         * **optional_args** – Takes the second and third arguments
           that "APIException" used to take.

   property error_type

      Get error_type.

      Deprecated since version 7.0: Accessing attributes through
      instances of "RedditAPIException" is deprecated. This behavior
      will be removed in PRAW 8.0. Check out the PRAW 7 Migration
      tutorial on how to migrate code from this behavior.

   property field

      Get field.

      Deprecated since version 7.0: Accessing attributes through
      instances of "RedditAPIException" is deprecated. This behavior
      will be removed in PRAW 8.0. Check out the PRAW 7 Migration
      tutorial on how to migrate code from this behavior.

   property message

      Get message.

      Deprecated since version 7.0: Accessing attributes through
      instances of "RedditAPIException" is deprecated. This behavior
      will be removed in PRAW 8.0. Check out the PRAW 7 Migration
      tutorial on how to migrate code from this behavior.

   static parse_exception_list(exceptions: List[Union[praw.exceptions.RedditErrorItem, List[str]]])

      Covert an exception list into a "RedditErrorItem" list.

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.

exception praw.exceptions.ClientException

   Indicate exceptions that don’t involve interaction with Reddit’s
   API.

   __init__(*args, **kwargs)

      Initialize self.  See help(type(self)) for accurate signature.

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.

exception praw.exceptions.DuplicateReplaceException

   Indicate exceptions that involve the replacement of MoreComments.

   __init__()

      Initialize the class.

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.

exception praw.exceptions.InvalidFlairTemplateID(template_id: str)

   Indicate exceptions where an invalid flair template id is given.

   __init__(template_id: str)

      Initialize the class.

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.

exception praw.exceptions.InvalidImplicitAuth

   Indicate exceptions where an implicit auth type is used
   incorrectly.

   __init__()

      Initialize the class.

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.

exception praw.exceptions.InvalidURL(url: str, message: str = 'Invalid URL: {}')

   Indicate exceptions where an invalid URL is entered.

   __init__(url: str, message: str = 'Invalid URL: {}')

      Initialize the class.

      Parameters:
         * **url** – The invalid URL.

         * **message** – The message to display. Must contain a format
           identifier ("{}" or "{0}"). (default: ""Invalid URL: {}"")

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.

exception praw.exceptions.MediaPostFailed

   Indicate exceptions where media uploads failed..

   __init__()

      Initialize MediaPostFailed.

   property original_exception

      Access the original_exception attribute (now deprecated).

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.

exception praw.exceptions.MissingRequiredAttributeException

   Indicate exceptions caused by not including a required attribute.

   __init__(*args, **kwargs)

      Initialize self.  See help(type(self)) for accurate signature.

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.

exception praw.exceptions.PRAWException

   The base PRAW Exception that all other exception classes extend.

   __init__(*args, **kwargs)

      Initialize self.  See help(type(self)) for accurate signature.

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.

exception praw.exceptions.RedditAPIException(items: Union[List[Union[praw.exceptions.RedditErrorItem, List[str], str]], str], *optional_args: str)

   Container for error messages from Reddit’s API.

   __init__(items: Union[List[Union[praw.exceptions.RedditErrorItem, List[str], str]], str], *optional_args: str)

      Initialize an instance of RedditAPIException.

      Parameters:
         * **items** – Either a list of instances of "RedditErrorItem"
           or a list containing lists of unformed errors.

         * **optional_args** – Takes the second and third arguments
           that "APIException" used to take.

   property error_type

      Get error_type.

      Deprecated since version 7.0: Accessing attributes through
      instances of "RedditAPIException" is deprecated. This behavior
      will be removed in PRAW 8.0. Check out the PRAW 7 Migration
      tutorial on how to migrate code from this behavior.

   property field

      Get field.

      Deprecated since version 7.0: Accessing attributes through
      instances of "RedditAPIException" is deprecated. This behavior
      will be removed in PRAW 8.0. Check out the PRAW 7 Migration
      tutorial on how to migrate code from this behavior.

   property message

      Get message.

      Deprecated since version 7.0: Accessing attributes through
      instances of "RedditAPIException" is deprecated. This behavior
      will be removed in PRAW 8.0. Check out the PRAW 7 Migration
      tutorial on how to migrate code from this behavior.

   static parse_exception_list(exceptions: List[Union[praw.exceptions.RedditErrorItem, List[str]]])

      Covert an exception list into a "RedditErrorItem" list.

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.

class praw.exceptions.RedditErrorItem(error_type: str, message: str, field: Optional[str] = None)

   Represents a single error returned from Reddit’s API.

   __init__(error_type: str, message: str, field: Optional[str] = None)

      Initialize an error item.

      Parameters:
         * **error_type** – The error type set on Reddit’s end.

         * **message** – The associated message for the error.

         * **field** – The input field associated with the error, if
           available.

   property error_message

      Get the completed error message string.

exception praw.exceptions.TooLargeMediaException(maximum_size: int, actual: int)

   Indicate exceptions from uploading media that’s too large.

   __init__(maximum_size: int, actual: int)

      Initialize a TooLargeMediaException.

      Parameters:
         * **maximum_size** – The maximum_size size of the uploaded
           media.

         * **actual** – The actual size of the uploaded media.

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.

exception praw.exceptions.WebSocketException(message: str, exception: Optional[Exception])

   Indicate exceptions caused by use of WebSockets.

   __init__(message: str, exception: Optional[Exception])

      Initialize a WebSocketException.

      Parameters:
         * **message** – The exception message.

         * **exception** –

           The exception thrown by the websocket library.

           Note:

             This parameter is deprecated. It will be removed in PRAW
             8.0.

   property original_exception

      Access the original_exception attribute (now deprecated).

   with_traceback()

      Exception.with_traceback(tb) – set self.__traceback__ to tb and
      return self.
