что говорится в стандарте, на случай если исключения отключены, а я делаю throw 42;
?
Ну скорее всего они сделают как это в Макосе - подмножество C++ без эксепшенов и RTTI. И throw там просто не соберется. Операция new всегда несбрасывающая - просто проверяется возврат на не нулл.
В макосе у них вместо стандартного, свой RTTI вообще написан, корторый под половину наворотов Объектив-С реализует. Хотя толку на мой взгляд мало.
Эксепшены в ядра уже затаскивали, не помню в какое может даж в линукс. Чуваки свой гипервизор делали, и до кучи такую порнографию сделали.
Основная проблема почему не тянут эксепшены в ядро, даже не тяжелый рантайм, а условно неопределенное время затрачеваемое на раскрутки. Ядро себе неопределенность такого масштаба позволить не может.
Но использование C++ в ядре действительно облегчает жизнь. Тем же RAII. Я собственно пили Paragon NTFS for Mac - он весь на плюсах. И еще несколько драйверов и файл систем и болчных устройств. На С былоб делать сильно гиморойнее!