- [ ] documenting the errors, or using constants to describe them - [ ] Having an error exit function so that if the same error can be triggered from multiple places, the string only exists in one place for that error. - [ ] following standards like POSIX error codes which have existing meanings for some codes (https://www.man7.org/linux/man-pages/man3/errno.3.html).)