Programming with Elijah

Programming with Elijah

Function Invocation

Functions are the other fundamental building block of programming in Elijah.

This blog is openly developed on GitHub. If you have any problems or questions, please open an issue there. You can also leave comments at the bottom. The complete source code for this post can be found in the post-05 branch.

Table of Contents

๐Ÿ”—Normal Functions

๐Ÿ”—Constructors

๐Ÿ”—Properties

๐Ÿ”—Modifiers

in out const ref

๐Ÿ”—Overview

๐Ÿ”—Too much Magic?

The x86-interrupt calling convention and the InterruptDescriptorTable type made the exception handling process relatively straightforward and painless. If this was too much magic for you and you like to learn all the gory details of exception handling, we got you covered: Our โ€œHandling Exceptions with Naked Functionsโ€ series shows how to handle exceptions without the x86-interrupt calling convention and also creates its own IDT type. Historically, these posts were the main exception handling posts before the x86-interrupt calling convention and the x86_64 crate existed. Note that these posts are based on the first edition of this blog and might be out of date.

๐Ÿ”—What's next?

We've successfully caught our first exception and returned from it! The next step is to ensure that we catch all exceptions, because an uncaught exception causes a fatal triple fault, which leads to a system reset. The next post explains how we can avoid this by correctly catching double faults.



Comments

OC