LINUX.ORG.RU

[C] [жизнь без исключений] Как вы обрабатываете ошибки?

 


0

0

Пишу на C прошивку для микроконтроллера. Возникла следующая проблема:

while (1) {
	..
	for (..) {
		..
		if (..) {
			вдруг неожиданно произошло что-то очень не хорошее, например, аппаратная ошибка несовместимая с нормальной работой программы, нужно выйти из цикла while (1)
		}
		..
	}
	..
	switch (..) {
	case ..:
		if (..) такая же ситуация...
		break;
		..
	}
	..
}
.. 
if (флаг если ошибка) {
	обработка
}
..

И как тут быть? Неужели goto, и будет мне вагон счастья? А как же «напишешь «goto» и за тобой придёт бабай! Буууу!» (c), Дейкстра и весь такой прочий антураж?


Ответ на: комментарий от golodranez

> Дибилушка, незнающий элементарного.

Ты уже придумал способ открыть UDS другим способом, без goto и гор твоей любимой копипасты, о Великий Проектировщик Хеллоу Ворлдов?

> Тебя gag вчера уже ткнул в твоё невежество, так что помалкивай.

Дай ссылку на свою альтернативную реальность, а то в этой всё как-то не так, как тебе мнится.

kemm
()
Ответ на: комментарий от kemm

>Ты уже придумал способ открыть UDS другим способом, без goto и гор твоей любимой копипасты, о Великий Проектировщик Хеллоу Ворлдов?

тссс не пугай, он наверное и слов таких как unix socket не знает, ты че, у него ж проэкты намноооого серьезнее

chicane
()
Ответ на: комментарий от golodranez

Ты хоть раз можешь ответить на прямо поставленный вопрос или величия твоего "интеллекта" на такое уже не хватает, детинушка?

kemm
()
Ответ на: комментарий от golodranez

>советую перечитать тред с начала:)

и что я там найду? как вы переписали этот код без goto и его аналогов и без колбасы?

chicane
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.