| BG Development · За реклама · За контакти |
Помощ Търсене Потребители Календар Правила |
| Здравей! ( Включване | Регистриране ) |
| Страници: (8) « първа ... 3 4 [5] 6 7 ... последна » ( Първото ново мнение ) | ![]() ![]() ![]() |
| Дон Реба |
Публикувано на: 27-04-2025, 09:13
|
||||
|
Име: Група: Потребител Ранг: Почетен член Мнения: 10488 Регистриран на: 11.11.06 |
със това дори частично ще се съглася, но само ниво да се спасиш от краш и загуба на данни. но хората които ползват изключения не го правят за това, а примерно за да могат да направят аналог на int i=atoi(str); който "съобщава" че стринга не е число хвърляйки изключение. практика която звучи много примамливо, но е път към ада |
||||
| DarkOne |
Публикувано на: 27-04-2025, 11:17
|
||||
![]() Име: Александър Петков Група: Администратор Ранг: Почетен член Мнения: 3731 Регистриран на: 30.01.04 |
Да хванеш изключение = да обработиш грешката. Няма значение че е нагоре по веригата. Аз говоря за подхода на Реба, който пуска операциите и продължава изпълнението на операцията дори когато е възникнала грешка. -------------------- The man who learns only what others know
is as ignorant as if he learns nothing. The treasures of knowledge are the most rare, and guarded most harshly. -- Chronicle of the First Age |
||||
| dvader |
Публикувано на: 27-04-2025, 11:26
|
||
![]() Име: Валерий Тодоров Група: VIP Ранг: Почетен член Мнения: 5407 Регистриран на: 12.07.05 |
Дискусията е не КОИ грешки да хващаме а КАК да ги хващаме. А темата беше, че в Ръст са премахнали едната опция ИЗЦЯЛО. Това мнение е било редактирано от dvader на 27-04-2025, 11:27 -------------------- I find your lack of faith disturbing
|
||
| dvader |
Публикувано на: 27-04-2025, 11:30
|
||
![]() Име: Валерий Тодоров Група: VIP Ранг: Почетен член Мнения: 5407 Регистриран на: 12.07.05 |
Аха... а ако го проверяваш с error code и да връщаш error code - това не е ли път към същият ад? Или имаше в предвид "път към Ада" Според мен е едно и също, просто е повече писане. -------------------- I find your lack of faith disturbing
|
||
| Дон Реба |
Публикувано на: 27-04-2025, 11:44
|
||
|
Име: Група: Потребител Ранг: Почетен член Мнения: 10488 Регистриран на: 11.11.06 |
ами не е, пробвал съм. ако има как предпочитам със забранена стойност (и най-често има как), но ако всички стойности са допустими тогава няма как - функцията връща валидност, а резултата в аргумент. не е красиво, не можеш да вкараш функцията в израз, но е по-добре от изцепшън. изцепшъните като много други красиви неща са отрова. |
||
| SuN |
Публикувано на: 27-04-2025, 11:47
|
||||||
|
Име: Група: Администратор Ранг: Почетен член Мнения: 13431 Регистриран на: 27.01.05 |
Лъжат те!
"https://doc.rust-lang.org/std/panic/fn.catch_unwind.html" Не е препоръчително, но може да прихващаш паникьосвания според документацията. Това мнение е било редактирано от SuN на 27-04-2025, 11:49 -------------------- Само аз не троля.
Всички коментари са плод на художествена измислица и нямат общо с действителни и недействителни лица, събития и факти. |
||||||
| Дон Реба |
Публикувано на: 27-04-2025, 11:49
|
|
Име: Група: Потребител Ранг: Почетен член Мнения: 10488 Регистриран на: 11.11.06 |
между другото, въпроса "какво правим при грешка" е много по-дълбок и това дали изцепшъни или ерор кодове е само маловажен технически въпрос. моето наблюдение е че много програмисти ако няма меринджей да им шока репата правят тотално неизползваем софтуер защото и при най-малката грешка - край, света спира да се върти. дъглас адамс впрочем много добре ги усеща тия неща и ако беше написал книга за продуктов мениджмънд щеше да допринесе много. той впрочем е, но трябва да четеш разни странични истории за говорещи мишки, докато стигнеш до същината
|
| ici |
Публикувано на: 27-04-2025, 12:26
|
||||
![]() Име: Ивайло Илчев Група: VIP Ранг: Почетен член Мнения: 19057 Регистриран на: 06.06.04 |
Има много неща в C които не трябва да се използват. Това е atoi, глобално errno (без reentracy) и много други. Прикачена картинка (Кликнете на картинката, за да я увеличите!) ![]() -------------------- Facebook is a bit like checking your underwear after a fart.
Most likely there's nothing new and if there is it's probably shit. |
||||
| dvader |
Публикувано на: 27-04-2025, 15:22
|
||||
![]() Име: Валерий Тодоров Група: VIP Ранг: Почетен член Мнения: 5407 Регистриран на: 12.07.05 |
В днешно време на никой не можеш да вярваш... -------------------- I find your lack of faith disturbing
|
||||
| bvbfan |
Публикувано на: 27-04-2025, 15:50
|
||||||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 4169 Регистриран на: 08.12.13 |
Предлагаш най-лошият подход, но нормално за процедурист като теб. Идеята в Rust е, че няма такова чудо като nullptr, няма грешки с кодове и безкрайни и непрекъснато повтарящи се switch/case при обработка на грешки. Затова има pattern-match и expected or error тип. Така се елиминират репортване на грешки с кодове, примитивно, неефективно, повтарящи се конструкции и обработването на изключения, което е много по-добро, защото "развива" стека и позволява да бъде обработена само веднъж, но "по-скъпа" от към ресурси, което рефлектира и към производителността. Така в Rust се ползват комбинатори, за да не е нужно да връщаш изпълнението на извикващия. Това мнение е било редактирано от bvbfan на 27-04-2025, 15:50 --------------------
|
||||||
Страници: (8) « първа ... 3 4 [5] 6 7 ... последна » |
![]() ![]() ![]() |