The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка программирования Rust 1.33"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск языка программирования Rust 1.33" +1 +/
Сообщение от Аноним (123), 03-Мрт-19, 16:44 
>  как C++ позволил бы избежать этой проблемы? Позволил бы он?

Разумеется! Во-первых, в C++ никому в голову не пришло бы писать подобный бред с разбором строк ad-hoc:

if let Some(decor) = set.get_property_gtk_decoration_layout() {
                 let decor = decor.to_string();
                 let decor_split: Vec<String> =
                     decor.splitn(2, ':').map(|s| s.to_string()).collect();
                 if decor_split[1].contains("close") {
                     right_header.set_show_close_button(false);
                     left_header.set_show_close_button(true);
                 } else {
                     left_header.set_show_close_button(false);
                     right_header.set_show_close_button(true);
                 }
}

это для скриптов такое поделие сойдёт, но не для кода, который должен выполняться быстро (иначе зачем мы языком для системного программирования занялись?). Во-вторых, даже если бы и пришло, в C++ подобную конструкцию всегда можно окружить try/catch блоком и выполнить сценарий по умолчанию, например:

           } else {
                     left_header.set_show_close_button(false);
                     right_header.set_show_close_button(true);
                 }

И не надо мне писать, что панику в расте можно отловить так же, как исключение в C++. Нельзя, паники в придумали расте не для этого. Но главная проблема раста даже не в этом. Проблема раста в том, что из этого кода просто не видно, что там зарыта паника.
Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск языка программирования Rust 1.33, opennews, 02-Мрт-19, 13:17  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру