diff --git a/esphome/arduino8266/toolchain.py b/esphome/arduino8266/toolchain.py index a7d77737e0..0cf20d47dc 100644 --- a/esphome/arduino8266/toolchain.py +++ b/esphome/arduino8266/toolchain.py @@ -93,8 +93,11 @@ def run_compile(config: ConfigType, verbose: bool) -> int: _print_size_summary(build_dir) try: idedata = get_idedata() - except EsphomeError as err: - # The firmware already built; idedata is a bonus artifact here + except (EsphomeError, OSError, RuntimeError, ValueError) as err: + # The firmware already built; idedata is a bonus artifact here. + # Broad on purpose: a vanished compiler (OSError), a failed include + # probe (RuntimeError), or a truncated compile DB (ValueError) must + # not fail a successful build either. _LOGGER.warning("Could not generate idedata: %s", err) else: if idedata is None: