`type error =`

1. `| Illegal_escape of char`
2. `| Unknown_error of exn`
3. `| Nothing_to_download`
4. `| Curl_error of int`
5. `| Unexpected_char of string * char * int * int`
6. `| Bad_marshalled_data of string`
7. `| Unknown_command of string`
8. `| Unknown_output_format of string`
9. `| Unknown_input_format of string`
10. `| Unexpected_expression of string`
11. `| Missing_configuration_file`
12. `| Error_in_configuration_file of string`
13. `| Missing_configuration_item of string`
14. `| Unknown_configuration_item of string`
15. `| Parsing_error of string * bool * int * int`
16. `| Template_not_found of string`
17. `| Dynlink_error of Dynlink.error`
    (*

    The type of Ben-specific errors

    *)

`exception Error of error`

All Ben-specific errors are wrapped into this exception.

`val string_of_error : error -> string`

Return a human-readable explanation of an error.

`val raise : error -> 'a`

Wrapper around `Pervasives.raise` to raise a Ben exception.

`val warn : error -> unit`

Emit a warning.

`val warn_exn : string -> exn -> unit`

Emit a warning.

`val error_exn : string -> exn -> unit`

Emit an error.