diff --git a/include/armnn/Exceptions.hpp b/include/armnn/Exceptions.hpp
index e21e974..066f59f 100644
--- a/include/armnn/Exceptions.hpp
+++ b/include/armnn/Exceptions.hpp
@@ -64,12 +64,19 @@
     std::string m_Message;
 };
 
-class ClRuntimeUnavailableException : public Exception
+/// Class for non-fatal exceptions raised while initialising a backend
+class BackendUnavailableException : public Exception
 {
 public:
     using Exception::Exception;
 };
 
+class ClRuntimeUnavailableException : public BackendUnavailableException
+{
+public:
+    using BackendUnavailableException::BackendUnavailableException;
+};
+
 class InvalidArgumentException : public Exception
 {
 public:
diff --git a/include/armnn/backends/IBackendInternal.hpp b/include/armnn/backends/IBackendInternal.hpp
index 29097b4..6c919ee 100644
--- a/include/armnn/backends/IBackendInternal.hpp
+++ b/include/armnn/backends/IBackendInternal.hpp
@@ -115,9 +115,16 @@
     virtual IWorkloadFactoryPtr CreateWorkloadFactory(
         class TensorHandleFactoryRegistry& tensorHandleFactoryRegistry) const;
 
+    /// Create the runtime context of the backend
+    ///
+    /// Implementations may return a default-constructed IBackendContextPtr if
+    /// no context is needed at runtime.
+    /// Implementations must throw BackendUnavailableException if the backend
+    /// cannot be used (for example, necessary accelerator hardware is not present).
+    /// The default implementation always returns a default-constructed pointer.
     virtual IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const;
 
-    // Context specifically used for profiling interaction from backends.
+    /// Create context specifically used for profiling interaction from backends.
     virtual IBackendProfilingContextPtr CreateBackendProfilingContext(const IRuntime::CreationOptions& creationOptions,
         armnn::profiling::IBackendProfiling& backendProfiling) const;
 
