All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

A Framework for Classifying Programming Exceptions: Fatal, Boneheaded, Vexing, and Exogenous

By

CGamesPlay

7mo ago· 4 min readenInsight

Summary

This article presents a framework for classifying exceptions in programming into four categories: fatal exceptions (unpreventable system failures like out of memory), boneheaded exceptions (programmer errors that should be prevented), vexing exceptions (design flaws where methods throw exceptions in normal scenarios), and exogenous exceptions (external factors beyond program control). The author argues that understanding these categories helps developers implement more effective error handling strategies.

Key quotes

· 5 pulled
Writing good error handling code is hard in any language, whether you have exception handling or not.
Fatal exceptions are not your fault, you cannot prevent them, and you cannot sensibly clean up from them.
Boneheaded exceptions are your own darn fault, you could have prevented them and therefore they are bugs in your code.
Vexing exceptions are the result of unfortunate design decisions.
Exogenous exceptions appear to be somewhat like boneheaded exceptions except that they are not the result of a bug.
Snippet from the RSS feed
Writing good error handling code is hard in any language, whether you have exception handling or not. When I’m thinking about what exception handling I need to implement in a given program, I…

You might also wanna read