aptos-move/framework/move-stdlib/doc/result.md
<a id="0x1_result"></a>
0x1::resultProvides the <code><a href="result.md#0x1_result_Result">Result</a><T, E></code> type, which allows to represent a success value <code>T</code> or an error value <code>E</code>.
<pre><code></code></pre><a id="0x1_result_Result"></a>
ResultRepresents the result of some computation, either a value <code>T</code> or an error <code>E</code>.
<pre><code>enum <a href="result.md#0x1_result_Result">Result</a><T, E> <b>has</b> <b>copy</b>, store </code></pre> <details> <summary>Variants</summary> <details> <summary>Ok</summary> <details> <summary>Fields</summary> <dl> <dt> <code>0: T</code> </dt> <dd> </dd> </dl> </details> </details> <details> <summary>Err</summary> <details> <summary>Fields</summary> <dl> <dt> <code>0: E</code> </dt> <dd> </dd> </dl> </details> </details> </details><a id="@Constants_0"></a>
<a id="0x1_result_E_UNWRAP_ERR"></a>
Attempt to unwrap error but found value
<pre><code><b>const</b> <a href="result.md#0x1_result_E_UNWRAP_ERR">E_UNWRAP_ERR</a>: u64 = 1; </code></pre><a id="0x1_result_E_UNWRAP_OK"></a>
Attempt to unwrap value but found error
<pre><code><b>const</b> <a href="result.md#0x1_result_E_UNWRAP_OK">E_UNWRAP_OK</a>: u64 = 0; </code></pre><a id="0x1_result_is_ok"></a>
is_okChecks whether the result is Ok.
<pre><code><b>public</b> <b>fun</b> <a href="result.md#0x1_result_is_ok">is_ok</a><T, E>(self: &<a href="result.md#0x1_result_Result">result::Result</a><T, E>): bool </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="result.md#0x1_result_is_ok">is_ok</a><T, E>(self: &<a href="result.md#0x1_result_Result">Result</a><T, E>): bool { self is Ok } </code></pre> </details><a id="0x1_result_is_err"></a>
is_errChecks whether the result is Err.
<pre><code><b>public</b> <b>fun</b> <a href="result.md#0x1_result_is_err">is_err</a><T, E>(self: &<a href="result.md#0x1_result_Result">result::Result</a><T, E>): bool </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="result.md#0x1_result_is_err">is_err</a><T, E>(self: &<a href="result.md#0x1_result_Result">Result</a><T, E>): bool { self is Err } </code></pre> </details><a id="0x1_result_unwrap"></a>
unwrapUnpacks the <code>T</code> of Ok or aborts.
<pre><code><b>public</b> <b>fun</b> <a href="result.md#0x1_result_unwrap">unwrap</a><T, E>(self: <a href="result.md#0x1_result_Result">result::Result</a><T, E>): T </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="result.md#0x1_result_unwrap">unwrap</a><T, E>(self: <a href="result.md#0x1_result_Result">Result</a><T, E>): T { match (self) { Ok(x) => x, _ => <b>abort</b> <a href="error.md#0x1_error_invalid_argument">error::invalid_argument</a>(<a href="result.md#0x1_result_E_UNWRAP_OK">E_UNWRAP_OK</a>) } } </code></pre> </details><a id="0x1_result_unwrap_err"></a>
unwrap_errUnpacks the <code>E</code> of Err or aborts.
<pre><code><b>public</b> <b>fun</b> <a href="result.md#0x1_result_unwrap_err">unwrap_err</a><T, E>(self: <a href="result.md#0x1_result_Result">result::Result</a><T, E>): E </code></pre> <details> <summary>Implementation</summary> <pre><code><b>public</b> <b>fun</b> <a href="result.md#0x1_result_unwrap_err">unwrap_err</a><T, E>(self: <a href="result.md#0x1_result_Result">Result</a><T, E>): E { match (self) { Err(x) => x, _ => <b>abort</b> <a href="error.md#0x1_error_invalid_argument">error::invalid_argument</a>(<a href="result.md#0x1_result_E_UNWRAP_ERR">E_UNWRAP_ERR</a>) } } </code></pre> </details>