
Course Part 16: Mastering Exception Handling and Exploring Future Contract Features
Course Description
In this comprehensive module, we delve deep into the world of exception handling in C++, a vital skill for writing robust, fault-tolerant applications. You'll explore key concepts like exception propagation, the use of try-catch blocks, and how to design custom exception types that make error handling more efficient and intuitive. The course also takes a forward-looking approach by introducing the concept of contracts in C++, a powerful feature being developed for future standards. Contracts enable developers to define clear preconditions, postconditions, and invariants that will help catch bugs early, ensure code correctness, and provide better documentation. By the end of this lesson, you'll be equipped not only with essential techniques for error management but also a preview of the cutting-edge tools that will transform the way you write and maintain C++ code in the future.
Course Curriculum
- 001. Lesson 16 Overview: C++20 Modules for Large-Scale Software Development
- 002. Getting Started: An Introduction to C++20 Modules
- 003. Compilation and Linking in C++: Pre-C++20 Practices
- 004. Benefits and Objectives of C++20 Modules
- 005. Transitioning to C++20 Modules: Using Header Units
- 006. Building with Header Units in Microsoft Visual Studio
- 007. Creating a Pre-Release g++ 13 Docker Container
- 008. Compiling C++ Code with Header Units in g++
- 009. Using Header Units for Compilation in g++
- 010. How Modules Can Minimize Translation Unit Sizes and Speed Up Compilation
- 011. Creating and Implementing a C++20 Module: A Practical Example
- 012. Module Declaration for Defining a Module Interface Unit
- 013. Exporting Declarations in C++20 Modules