Attending this event?
View analytic
Tuesday, September 25 • 14:00 - 15:00
What Could Possibly Go Wrong?: A Tale of Expectations and Exceptions

Sign up or log in to save this to your schedule and see who's attending!

In software things can go wrong. Sometimes we might expect them to go wrong. Sometimes it’s a surprise. In most cases we want to build in some way of handling these disappointments.

In some cases we can use exceptions. But there are many cases where the overhead of exceptions is more than we want or can afford - and some are so constrained that exceptions are not even possible. Alternatives now include std::optional, or the proposed std::expected - but these come with a lot of code overhead

What we really want is a way to concisely produce and handle disappointments in our code in a performant manner. This talk will evaluate a few approaches to solving this, including monads, syntactic sugar for error handling, and we'll even look at an intriguing possibility that promises to unify these worlds.

avatar for Simon Brand

Simon Brand

Senior Software Engineer, GPGPU Toolchains, Codeplay Software
Simon is a GPGPU toolchain developer at Codeplay Software in Edinburgh. He turns into a metaprogramming fiend every full moon, when he can be found bringing compilers to their knees with template errors and debating undefined behaviour on the C++ Slack channel. He co-organises the... Read More →
avatar for Phil Nash

Phil Nash

Developer Advocate, JetBrains
Phil is the author of the test frameworks, Catch - for C++ and Objective-C, and Swordfish for Swift. As Developer Advocate at JetBrains he's involved with CLion, AppCode and ReSharper C++. More generally he's an advocate for good testing practices, TDD and using the type system and... Read More →

Tuesday September 25, 2018 14:00 - 15:00

Attendees (58)