---
title: "ClikaRT::nn::HookOutcome"
sidebar_label: "HookOutcome"
description: "What one call of a custom operator's output_shapes or compute reported back to the runtime: Status::Ok with empty text on success, otherwise the status and text of the exception the hook raised."
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--struct">struct</span>

**Header:** `ClikaRT/nn/module.h`

What one call of a custom operator's `output_shapes` or `compute` reported back to the runtime: [`Status::Ok`](../../index.md#Status) with empty text on success, otherwise the status and text of the exception the hook raised. Plain data on purpose: an exception raised in application code is caught by the application's own C++ runtime (the entry points of `detail::ModuleHookTable`) and only this record crosses into the library. Not something a module author fills in by hand: the entry points in `detail::ModuleHookTable` produce it.

## Data members

### status {#status}

<div class="api-signature">

[`Status`](../../index.md#Status) **`status`** `=` [`Status::Ok`](../../index.md#Status)

</div>

<div class="api-declared">

Declared in `ClikaRT/nn/module.h`, line 60

</div>

### typed {#typed}

<div class="api-signature">

`bool` **`typed`** `= false`

</div>

true when the exception was a [`ClikaRT::Error`](../Error.md)

<div class="api-declared">

Declared in `ClikaRT/nn/module.h`, line 61

</div>

### message {#message}

<div class="api-signature">

`std::string` **`message`**

</div>

the exception's text; empty on success

<div class="api-declared">

Declared in `ClikaRT/nn/module.h`, line 62

</div>

### code\_name {#code_name}

<div class="api-signature">

`std::string` **`code_name`**

</div>

a [`ClikaRT::Error`](../Error.md)'s code name; empty otherwise

<div class="api-declared">

Declared in `ClikaRT/nn/module.h`, line 63

</div>
