Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a new “Handling Exceptions” post #292

Merged
merged 12 commits into from Mar 26, 2017
Merged

Create a new “Handling Exceptions” post #292

merged 12 commits into from Mar 26, 2017

Conversation

@phil-opp
Copy link
Owner

phil-opp commented Mar 21, 2017

This post combines the previous exception handling posts “Catching Exceptions”, “Better Exception Messages” and “Returning from Exceptions” into a single post by using the x86-interrupt calling convention and the Idt type of the x86_64 crate.

@phil-opp phil-opp force-pushed the handling-exceptions branch from 67a442f to a06753e Mar 21, 2017
### Faults, Aborts, and Traps
The answer is that the stored instruction pointer only points to the causing instruction for _fault_ type exceptions, but not for _trap_ or _abort_ type exceptions. The difference between these types is the following:

- **Faults** are exceptions that can be corrected so that the program can continiue as if nothing happened. An example is the [page fault], which can often be resolved by loading the accessed page from the disk into memory.

This comment has been minimized.

Copy link
@bjorn3

bjorn3 Mar 21, 2017

Contributor

*continue

This comment has been minimized.

Copy link
@phil-opp

phil-opp Mar 22, 2017

Author Owner

Thanks!

@phil-opp phil-opp force-pushed the handling-exceptions branch from a06753e to c40c9a4 Mar 22, 2017
@gil0mendes gil0mendes mentioned this pull request Mar 23, 2017
phil-opp added 4 commits Mar 21, 2017
This post combines the previous exception handling posts “Catching Exceptions”, “Better Exception Messages” and “Returning from Exceptions” into a single post by using the `x86-interrupt` calling convention and the `Idt` type of the `x86_64` crate.
@phil-opp phil-opp force-pushed the handling-exceptions branch from c40c9a4 to 3b1f795 Mar 25, 2017
@phil-opp phil-opp force-pushed the handling-exceptions branch from 4d27da5 to 97ef518 Mar 25, 2017
@phil-opp phil-opp merged commit 1cc5f05 into master Mar 26, 2017
3 checks passed
3 checks passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
deploy/netlify Deploy preview ready!
Details
@phil-opp phil-opp deleted the handling-exceptions branch Mar 26, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.