50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
namespace Elternbeirat.PocketBase;
|
|
|
|
/// <summary>
|
|
/// Thrown when PocketBase could not be reached, timed out, or returned a
|
|
/// response that could not be read.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// This is the one failure the content pages need to distinguish: the site is
|
|
/// up but its data store is not, which is an HTTP 503, not a 404. Which
|
|
/// low-level exceptions mean that (a transport error, a timeout, unreadable
|
|
/// JSON) is <see cref="PocketBaseClient"/>'s concern; callers catch only this
|
|
/// type and need not know how the client talks to PocketBase.
|
|
/// </remarks>
|
|
public sealed class PocketBaseUnavailableException : Exception
|
|
{
|
|
/// <summary>
|
|
/// Initializes a new instance with a default message.
|
|
/// </summary>
|
|
public PocketBaseUnavailableException()
|
|
: base("PocketBase is unavailable.")
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance with the given message.
|
|
/// </summary>
|
|
/// <param name="message">
|
|
/// The message that describes the error.
|
|
/// </param>
|
|
public PocketBaseUnavailableException(string message)
|
|
: base(message)
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance with the given message and the underlying
|
|
/// failure that caused it.
|
|
/// </summary>
|
|
/// <param name="message">
|
|
/// The message that describes the error.
|
|
/// </param>
|
|
/// <param name="innerException">
|
|
/// The transport, timeout, or deserialization exception that was caught.
|
|
/// </param>
|
|
public PocketBaseUnavailableException(string message, Exception innerException)
|
|
: base(message, innerException)
|
|
{
|
|
}
|
|
}
|