- Scheduling
- Memory Management
- Synchronization
- Asynchronous Event Handling
- Asynchronous Transfer of Control
- Asynchronous Thread Termination
- Physical Memory Access
- Exceptions
- Minimum Implementations of the RTSJ
- Optionally Required Components
- Documentation Requirements
- Parameter Objects
- Java Platform Dependencies
Exceptions
The RTSJ introduces several new exceptions, and some new treatment of exceptions surrounding asynchronous transfer of control and memory allocators.
The new exceptions introduced are:
-
AsynchronouslyInterruptedException: Generated when a thread is asynchronously interrupted.
-
MemoryAccessError: Thrown by the JVM when a thread attempts to access memory that is not in scope.
-
ThrowBoundaryError: A throwable tried to propagate into a scope where it was not accessible.
-
MemoryScopeException: Thrown by the wait-free queue implementation when an object is passed that is not compatible with both ends of the queue.
-
OffsetOutOfBoundsException: Generated by the physical memory classes when the given offset is out of bounds.
-
SizeOutOfBoundsException: Generated by the physical memory classes when the given size is out of bounds.
-
UnsupportedPhysicalMemoryException: Generated by the physical memory classes when the requested physical memory is unsupported.
-
IllegalAssignmentError: Thrown on an attempt to make an illegal assignment.
-
ResourceLimitError: Thrown if an attempt is made to exceed a system resource limit, such as the maximum number of locks.