170 похожих чатов

В Го в библиотеках принято не паниковать, правильно?

15 ответов

27 просмотров

Да и в реальной жизни принято не паниковать

Если паникуешь внутри функции, то у неё префикс Must*

Паниковать вы можете, когда дальнейшее выполнение программы невозможно, даже если начать выполнение кода сначала. И по-хорошему - паника должна вызываться тогда, когда вы отслеживаете работу программы. Пример - когда запускаете веб сервер и не удается подключиться к базе данных. — дальнейшее выполнение программы невозможно — паниковать будем во время запуска бека, а не в середине выполнения, через пару дней.

Iva
Паниковать вы можете, когда дальнейшее выполнение ...

вам про либу, а вы ему ответ из гпт про паники в целом, полезненько

Александр Костюченко
вам про либу, а вы ему ответ из гпт про паники в ц...

Это не ответ от гпт. Это общая концепция, где неплохо видеть панику, а в каких случая паника - плохое решение. В библиотеку ее тоже могут запихнуть и скрашить вам рабочую прогу. Это самый полный ответ, который получилось сформулировать с учетом того, что нет тематики приложения

Iva
Это не ответ от гпт. Это общая концепция, где неп...

какого приложения? в изначальном вопросе спросили про библиотеки. Ладно, забейте

Вам помог ответ или нужно больше подробностей?

I LOVE TO WIN- Автор вопроса
Iva
Паниковать вы можете, когда дальнейшее выполнение ...

Но вдруг пользователь библиотеки хочет эту ошибку обработать, например, послать в телеграм автору программы. Звучит не очень реалистично, но мне кажется на практике такое вполне возможно, например, если сервер сам перезапускается каждые N часов

I LOVE TO WIN
Но вдруг пользователь библиотеки хочет эту ошибку ...

Вполне возможно. Как вариант, когда у вас крит ошибка на сервере - отправить сообщение тг ботом, что сервер упал. Та вообще, отправка отчета об ошибке нормальная практика. Поймайте ошибку и обработайте. Зачем вам паника?

I LOVE TO WIN- Автор вопроса
Iva
Вполне возможно. Как вариант, когда у вас крит оши...

Возможно я плохо выразился, я имел в виду, что именно по этой причине библиотека запускающая веб-сервер должна возвращать ошибку, а не паниковать. И я вообще не вижу случаев когда паника в библиотеке не уступает возврату ошибки

I LOVE TO WIN- Автор вопроса
Iva
Пишите библиотеку для веб сервера?

Да нет, просто разбираюсь

I LOVE TO WIN
Да нет, просто разбираюсь

Паника не самый важный аспект го. Забейте на нее и пользуйтесь только ошибками. Хуже от этого не будет.

I LOVE TO WIN- Автор вопроса
Iva
Паника не самый важный аспект го. Забейте на нее и...

ОК. Я как раз хотел спросить "А может проще вообще не паниковать в библиотеках"

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта