## +23
## The Absurdity of Error Handling: Finding a Purpose for Errors in Safety-Critical SYCL
## ERIK TOMUSK
## codeplay $ ^{®} $
Enabling AI & HPC To Be Open, Safe & Accessible To All
personal capacity, unless explicitly stated
## Outline
• Definition of Safety
• Definition of Error Handling
• Case Study
• Why is this Important?
• Is it Really so bad?
• What does this mean for SYCL of Error Handling
## Definition of Error Handling
Error: An unintended occurrence
• Various means to communicate the presence of an error
• Error codes; C++ exceptions; std::unexpected
Error Handling:
## +24
## Modern C++ Error Handling
## PHIL NASH
## 20 24 September 15 - 20
## Modern C++ Error Handling
Phil Nash

## ## Option(al) Is Not a Failure
## 2018
@phil_nash
## the Dawn of a New Error
## 2019
## Part 1
## a Series (total) of disappointments
int parse_int(std::string_view number)
## -
int parse_int(std::string_view return out;
}
if(first_digit)
throw std::runtime_error(
std::format("{}" is not a number, number));
else
throw std::runtime_error(
std::format("{}" has non-numeric
## +21
## Custom Views for the Rest of Us
## JACOB RICE
20
21
October 24-29
## Custom Views for the Rest of Us
Jacob Rice
jacob.rice.cpp@gmail.com
KEYSIGHT TECHNOLOGIES
1 using namespace std::views; t2)
3 {
// Algorithm stuff...
std::ranges::swap(t1, t2);
// More algorithm
## Calls the custom version, if it exists (same for begin and end):
1 template
2 void AlgorithmThatSwaps(T& type: std::ranges::range_adaptor_closure.
• Ensure all closure objects inherit from this.
• Custom closure objects can then use it, too.
namespace detail
{
template
concept
# Message Handling
# with Boolean Algebra

Ben Deane / CppCon / 2024-09-16
## Alternative Title
"The Unreasonable Effectiveness of Boolean Algebra in Software Design, Showing the Particular Application of a Message Handling Library, with an Excursion into the Roots of Programming"
## Frontmatter
No AI/LLM was used • SVG diagrams for resolution-independence
## What this talk is about
The workings of a message-handling library.
• How messages and the fields in them are specified.
• Efficiently identifying (with
Python interpreter. Note that we’ve enabled Flask debugging mode to provide code reloading and better error messages.
$ python api.py
* Running on http://127.0.0.1:5000/
* Restarting with reloader
Warning: 201
class Todo3(Resource):
def get(self):
# Set the response code to 201 and return custom headers
return {'task': 'Hello world'}, 201, {'Etag': 'some-opaque-string'} RequestParser.parse_args() returns a Python dictionary instead of a custom data structure.
Using the reqparse module also gives you sane error messages for free. If an argument fails to pass validation, Flask-RESTful
## for handling second screen experience of european tv show
## About us
Key Qualifications
• 12+ years' experience with development and operations
• Automating everything
• Been handling Kubernetes d0e50fc9a298f7/p3_1.jpg)
• 5 offices
+100 employees
OpenSource
• Infrastructure projects
• Custom built IT solutions
• 15 years' experience
## Danish TV Show V2
![Image](/uploads/documents/
the interesting stuff happens. But there are also plenty of exciting things happening on the error handling flow, too. Although not universally loved/used, exceptions are a powerful mechanism of maneuvering crash. We'll poke into these mechanisms and see how we can leverage them in our application error handling. Did I mention threads? Routing exceptions between threads... oh my!
## S
Advanced Installer stuff happens
## Exceptional C++
But there are also plenty of exciting things happening on the error handling flow, too
## Exceptional C++
Although not universally loved, exceptions are a powerful mechanism