35 lines
1.5 KiB
Plaintext
35 lines
1.5 KiB
Plaintext
package wasi:io@0.2.4;
|
|
|
|
@since(version = 0.2.0)
|
|
interface error {
|
|
/// A resource which represents some error information.
|
|
///
|
|
/// The only method provided by this resource is `to-debug-string`,
|
|
/// which provides some human-readable information about the error.
|
|
///
|
|
/// In the `wasi:io` package, this resource is returned through the
|
|
/// `wasi:io/streams/stream-error` type.
|
|
///
|
|
/// To provide more specific error information, other interfaces may
|
|
/// offer functions to "downcast" this error into more specific types. For example,
|
|
/// errors returned from streams derived from filesystem types can be described using
|
|
/// the filesystem's own error-code type. This is done using the function
|
|
/// `wasi:filesystem/types/filesystem-error-code`, which takes a `borrow<error>`
|
|
/// parameter and returns an `option<wasi:filesystem/types/error-code>`.
|
|
///
|
|
/// The set of functions which can "downcast" an `error` into a more
|
|
/// concrete type is open.
|
|
@since(version = 0.2.0)
|
|
resource error {
|
|
/// Returns a string that is suitable to assist humans in debugging
|
|
/// this error.
|
|
///
|
|
/// WARNING: The returned string should not be consumed mechanically!
|
|
/// It may change across platforms, hosts, or other implementation
|
|
/// details. Parsing this string is a major platform-compatibility
|
|
/// hazard.
|
|
@since(version = 0.2.0)
|
|
to-debug-string: func() -> string;
|
|
}
|
|
}
|