nn::Result::Level Enumerated Type

Syntax

#include <nn/Result.h>

enum Level;

Values

Value Description
LEVEL_INFO Success. Additional information exists.
LEVEL_SUCCESS Success. No additional information.
LEVEL_FATAL Fatal error at the system level. Recovery in the software is not possible. Transition to the sequence that directs the user to Customer Support.
LEVEL_RESET Unexpected error. Best course of action is to transition to the reset sequence. It's not likely that reinitializing the module will lead to recovery, but it may be possible to recover by resetting.
LEVEL_REINIT Error indicating that the module must be reinitialized.
LEVEL_USAGE Programming error. This indicates a programming error that will always occur with the argument values that were specified, regardless of the particular internal state of the library.
LEVEL_PERMANENT Permanent error. Retrying is not possible.
LEVEL_TEMPORARY Temporary failure. Retrying immediately with the same argument values is possible. Retrying a comparatively few times should yield success.
LEVEL_STATUS Expected failure.
LEVEL_END This value is not used.

Description

Enumerated type that indicates the severity of errors. (Do not use this type for error handling.)

Avoid using this value directly for error handling. This value can be used during debugging to understand the content of an error.

LEVEL_INFO, LEVEL_SUCCESS

The function's processing succeeded. When there is additional information included, the processing can branch based on each function's reference.

What is deemed a success will depend on the function. For example, for a function that confirms the existence of a connection, even when the connection hasn't yet been made, if the confirmation was a success, it is possible that LEVEL_SUCCESS will be returned. In such cases, when result.IsSuccess() would indicate that connection was successful, you don't end up with the intended process.

LEVEL_FATAL

In general, this level of error is supplemented internally, and the system is automatically suspended, with a message displayed prompting the user to contact support.

However, there are errors where the application can continue to play, for example when the camera fails, or even when the device has had a fatal problem. The error is processed based on the reference of the function in use.

LEVEL_RESET

This indicates an error for which recovery is possible with a system reset. The error is processed based on the reference of the function in use.

LEVEL_REINIT

This indicates an error for which recovery is possible with a module reinitialization. The error is processed based on the reference of the function in use.

LEVEL_USAGE

This indicates a bug in the code from which the call was made. This error can be returned when there is a mistake in the way a function is used or a mistake in an argument. Revise it to the correct way based on the reference.

LEVEL_PERMANENT

This indicates a bug in the usage from which the call was made.

This indicates an error that can be resolved without affecting the behavior of other applications by revising the calling code. This error is returned when there is an internal problem that results from mistakes made in the procedures used for a library.

LEVEL_TEMPORARY

This is an error where success is possible on a retry. The error is processed based on the reference of the function in use.

LEVEL_STATUS

This indicates an error where processing is necessary based on the value of Result.

The error is processed based on the reference of the function in use.

Revision History

2010/10/27
Added information on the meanings of the different levels and how they are handled.
2010/01/07
Initial version.

CONFIDENTIAL