obsproject/obs-studio

Migrate string-based exceptions during initialization to localized error codes/types

Open

#13394 opened on May 3, 2026

View on GitHub
 (0 comments) (0 reactions) (0 assignees)C (72,387 stars) (9,239 forks)batch import
Good first issuekind/tech-debt

Description

Currently during initialization OBS will simply throw const char * for issues

https://github.com/obsproject/obs-studio/blob/085a51ab0f0573412a368905bb9a843e2de4cecd/frontend/OBSApp.cpp#L1054-L1061

and run_program happens to know to catch those with

https://github.com/obsproject/obs-studio/blob/085a51ab0f0573412a368905bb9a843e2de4cecd/frontend/obs-main.cpp#L693-L696

This is both messy and also means that these errors can not be localized.

All of these potential errors during initialization should throw a proper exception type that identifies the kind of error with an optional error message for developers, then catch the specific type and display the localized error message appropriate for the error.

Contributor guide