The following are some of the references, and source materials, from my talk, Dawn of a New Error

Proposals for C++23+:
[1]p0709 - Zero-overhead deterministic exceptions (Herb, et al's paper)
[2]p1028 - Status Code and standard error object (supporting work from Niall Douglas)
[3]p1029 - [[move_relocates]] (More supporting work from Niall)
[4]p1144 - Object relocation in terms of move plus destroy (Arthur O'Dwyer's more ambitious version)
[5]p0798 - Monadic operations for std::optional
[6]p0323 - std::expected
[7]p0542 - Contracts proposal (removed from C++20, should come back, in some form, for C++23
Background and other languages:
[8]Boost.Outcome - de-facto library impl of p0709
[9]Swift Error handling paper - John McCall (Apple)
[10]Midori Error handling paper - Joe Duffy
[11]Do notation in Haskell
Existing Language features, techniques and libraries:
[12]Simon Brand's coverage of [[nodiscard]]
[13]Simon Brand's take on monadic use of optional and expected
[14]Summary of SG14 discussion on <system error>
[15]Niall Douglas, 'Introduction to proposed std::expected' (Meeting C++ 2017)
[16]Charley Bay on std::system_error and std::error_code (C++ Now 2017)
[17]My previous EH talk: 'Option(al) Is Not a Failure' (Meeting C++ version)
[18]Swift version of 'Option(al) Is Not a Failure' at iOSCOn (requires SkillsMatter login)
[19]Swift version of 'Option(al) Is Not a Failure' at AppDevCon
[20]Alexandrescu's 2012 talk, 'Systematic Error Handling in C++'
[21]Andrei Alexandrescu's 2007 talk, 'Choose Your Poison'
[22]Alexandrescu's 2002 talk, 'Error Handling in C++: Are We Inching Towards a Total Solution?'
[23]comp.lang.c++.moderated thread on 'Exploding return codes'
[24]Herb Sutter's ACCU 2019 keynote, 'De-fragmenting C++: Making exceptions more affordable and usable'