package obus
Module OBus_errorSource
D-Bus errors management
This module integrates D-Bus errors into OCaml exceptions, and OCaml exceptions into D-Bus errors.
To do this, an OCaml exception that maps a D-Bus error should be registered with Register.
An error name. For example: "org.foo.bar.Error.Failed"
An error message
General exception for D-Bus errors. When the reply to a method call is a D-Bus error that have not been registered, this exception is raised.
Arguments are:
- the D-Bus error name
- the error message
The name of the D-Bus error which is generated for uncaught ocaml exceptions that have not been registered
D-Bus errors creating/casting
name exn returns the D-Bus error name under which this exception is registered. If the exception is not registered, then ocaml is returned.
make exn message creates an exception from an error name and an error message. If the name is not registered, then DBus(name, message) is returned.
cast exn returns the D-Bus name and message of the given exception. If the exception is not registered, (ocaml, Printexc.to_string exn) is returned.
Errors registration
Register an error. The typical use of the functor is:
Well-known dbus exception
The following errors can be raised by any service. You can also raise them in a method your service implement.
Note that the error message will normally be shown to the user so they must be explicative.