Troubleshooting Push Notification Exceptions for Windows Phone
1/28/2011
When developing an application to work with push notifications, as a best practice, always use a try/catch block to handle exceptions.
The following table describes possible exceptions and troubleshooting tips when using the Microsoft.Phone.Notification namespace:
Exception | Troubleshooting Tips |
|---|---|
InvalidOperationException(Channel binding existed) | This exception is raised when a Tile or toast is already bound to the notification channel. Use the IsShellToastBound and IsShellTileBound properties to determine if the toast or Tile is already bound. You can either do nothing, or unbind the toast or Tile and re-bind. |
InvalidOperationException(Channel existed) | You must use only one notification channel name per application per device. This exception is raised when you try to open more than one notification channel. |
InvalidOperationException(Channel not opened) | This exception is raised when a notification channel has not been opened yet for raw notifications. |
InvalidOperationException(Failed to open channel) | This exception is raised when the notification channel failed to open. Try opening the notification channel again. |
InvalidOperationException(Channel quota exceeded) | This exception is raised when either trying to open more than one notification channel per application, or when trying to open more than 15 notification channels per device. |
InvalidOperationException(Notification server temporarily unavailable) | The Microsoft Push Notification Service is unavailable. |
InvalidOperationException() | If you receive this exception without a message, it could be caused by the ID_CAP_PUSH_NOTIFICATION capability not being set in the Application Manifest File for Windows Phone. It could also be the result of an internal error. |
ArgumentException() | This exception is raised when an incorrect parameter is passed to the API. Double check the parameters. |
The following table describes possible exceptions and troubleshooting tips when using the ShellTileSchedule class:
Exception | Troubleshooting Tips |
|---|---|
ArgumentException(Invalid interval) | This exception is raised when Interval is invalid. For more information, see Interval. |
ArgumentException (Invalid remote image URI) | This exception is raised when the remote image URI is invalid. Ensure that you are passing a normal http link. Https and other link types are unsupported. |
ArgumentException (Invalid URI) | This exception is raised when the local image URI is invalid. |
InvalidOperationException() | This exception is raised when attempting an operation on a non-existent item. For example, if you try to remove a schedule that does not exist. |