MV Errors and Exceptions - modrpc/info GitHub Wiki
Overview
Errors and exceptions are more frequent in dynamic languages since there are no static type checkers. Also, MV is a distributed programming language and new types of errors can be encountered -- e.g. timeout.
Error Handling
When an error situation occurs, depending who is the "originator of this function/reactor evaluation":
- if it's remote device: send a message
- if it's local device: create an event
Types of Errors
Runtime Type Errors
- ERR_TYPE_detail: Each operator (e.g. +, -, =) has some predefined set(s) of allowed values (i.e. type(s)) for each operand. If a value with invalid (latent) type is passed, an error is generated.
Function Call Errors
Timeout Errors
Security Errors
System Errors
- ERR_SYS_MAX_PROP: resource limitation reached
- ERR_SYS_MAX_EVENT: resource limitation reached
- ERR_SYS_MAX_FUNC: resource limitation reached
- ERR_SYS_MAX_REACTOR: resource limitation reached
- ERR_SYS_MAX_SUBSCRIBE: resource limitation reached
- ERR_SYS_MAX_RESOURCE: resource limitation reached
- ERR_SYS_FCALL_MAX: too many suspended function calls; cannot serve more