Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/26: Рейтинг темы: голосов - 26, средняя оценка - 4.54
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705

Исключения: из блока try не совершается переход по метке (оператор goto)

31.12.2012, 11:28. Показов 5533. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace собственные_исключения
{
    class Program
    {
        public class iskl : Exception 
        { 
 
        } 
        
        static void Main(string[] args)
        {
            try
            {
                goto metka;
            }
            catch (iskl e)
            {
                Console.WriteLine("Очень хочется прочесть эту надпись!");
                return;
            }
            finally
            {
                Console.WriteLine("Но читается почему-то только эта!");
            }
 
 
            
            metka:
            {
                Console.WriteLine();
                Console.WriteLine("Это должно вывестись в первую очередь!");
                Console.WriteLine("но не выводится потому, что сюда");
                Console.WriteLine("управление не передаётся!");
                throw new iskl();
            }
        
        }
    }
}
так задумано что ли? Крайне неудобная задумка, в таком случае
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.12.2012, 11:28
Ответы с готовыми решениями:

Ошибка оператора GOTO(переход возможен только в пределах блока)
Procedure table; Begin textbackground(11); CLRSCR; textcolor(0); h:=22; l:=78; x0:=1; y0:=1; ...

Собственно возник вопрос по оператору goto и метке
Добрый день. При использовании оператор перехода goto столкнулся со "странным феноменом". Если использовать этот вариант кода: ...

Правильное указание безусловного перехода по метке (команда GOTO)
Здравствуйте. Есть такая конструкция: set /p log=<logfile.log set /a error=%log:~0,3% if not %error%==0 goto lable4 set...

31
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
01.01.2013, 15:29  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Tessen Посмотреть сообщение
пару скобочек, void и название метода?
не надо слова говорить. Вы же прекрасно понимаете, что дело не в количестве скобочек. Дело в том, что эту пару надо будет писать не с нуля, а куда-то её пихать, причём знать куда. И это много труднее чем пихать goto. Мне труднее.

++++++++++++++++++++++++++++++++++++++++ ++++++++++++

Не по теме:

Что вы там говорите? Пару скобочек? Ну-ну...

0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
01.01.2013, 15:41
речь шла про ваш пример с try/catch и меткой за ними
и да, в этом случае именно пару скобочек
и нет, не понимаю что не с нуля потому что вы в поисках абстрактной истины увели разговор в сторону обсуждения goto как такового, будьте добры прочитайте название темы, прочитайте что именно из вашего сообщения я процитировал и отвечайте уже тогда
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
01.01.2013, 17:10  [ТС]
Цитата Сообщение от Tessen Посмотреть сообщение
вы в поисках абстрактной истины увели разговор в сторону обсуждения goto как такового
А чё ещё обсуждать? Мне сказали что так, как я думал делать, так делать нельзя, а потом попросили рассказать ВООБЩЕ о полезности goto; вот я вообще и рассказал.

++++++++++++++++++++++++++++++++++++++++ ++
Цитата Сообщение от Tessen Посмотреть сообщение
КУДА по вашему должен вернуться код после обработки исключения?
куда уж напишем туда и венётся.

Цитата Сообщение от Tessen Посмотреть сообщение
итак, в вашем примере вы хотите чтобы исключение вернуло исполнение в catch, соответственно после этого оно из catch выйдет и пойдет 2ой раз по всему коду (т.к. он весь записан ниже catch) но уже без обработки исключения
вы ТОЧНО уверены что это гениальное решение призванное продемонстрировать нам всем полезность goto?
Значит по goto; я предполагал его поведение штатным. То есть до окончания работы функции (для простоты main)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
 
        public class iskl : Exception
        {
 
        } 
        
        
        static void Main()
        {
            try
            {
             goto metka;
            }
            catch (iskl exc)
            {
             //Тут обрабатывем исключение а потом 
             return ;   
             //Просто не правда ли
         //и никто по второму разу на metka не пойдёт            
            }
            //а блока finally нет 
 
            metka:
            
            //А ту генерится или нет исключение. Если генерится, то
            //оно обрабатывается и программа заканчивается.
            //Или просто выходим из программы.
 
            return ;
 
        }
    }
}

++++++++++++++++++++++++++++++++++++++++ ++

Цитата Сообщение от Tessen Посмотреть сообщение
чтобы не ходить 2ой раз
чтобы не ходить второй раз, надо в catch после обработки исключения написать return; и исключить блок finally (смотри код). А вы лишку написали, не знаю, с какой целью
0
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
01.01.2013, 19:37
Цитата Сообщение от kravam Посмотреть сообщение
надо в catch после обработки исключения написать return; и исключить блок finally
finally нельзя исключить, хоть 10 ретурнов напиши, в то его и смысл
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
01.01.2013, 19:41
Цитата Сообщение от kravam Посмотреть сообщение
чтобы не ходить второй раз, надо в catch после обработки исключения написать return;
Да как ты войдешь в catch? это обработчик исключений

Цитата Сообщение от kravam Посмотреть сообщение
try
{
goto metka;
}
где здесь генерится исключение?
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
01.01.2013, 20:15  [ТС]
Цитата Сообщение от m0nax Посмотреть сообщение
finally нельзя исключить, хоть 10 ретурнов напиши, в то его и смысл
новый год отмечаем? Так-то я все примеры компилю, прежде чем их сюда выкладывать. И без finally всё компилится на ять, пример смотри выше.
Цитата Сообщение от ValeryS Посмотреть сообщение
где здесь генерится исключение?
То же замечание; читать-то умеем?
C#
1
2
3
4
5
6
7
metka:
            
            //А ту генерится или нет исключение. Если генерится, то
            //оно обрабатывается и программа заканчивается.
            //Или просто выходим из программы.
 
            return ;
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
01.01.2013, 20:17
Цитата Сообщение от kravam Посмотреть сообщение
То же замечание; читать-то умеем?
Цитата Сообщение от kravam Посмотреть сообщение
metka:
//А ту генерится или нет исключение. Если генерится, то
* * * * * * //оно обрабатывается и программа заканчивается.
* * * * * * //Или просто выходим из программы.
а что это в блоке try?
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
01.01.2013, 20:25  [ТС]
ValeryS, засчитай слив, отстань только.
0
1 / 1 / 3
Регистрация: 27.11.2012
Сообщений: 146
01.01.2013, 21:33
Читал эту тему, читал (несколько дней за ней следил) и вот не понимаю одной вещи: ответ по теме был разобран ещё на первой странице. Исключение генерируется вне try, а значит оно обрабатывать и не будет. Как сюда набралось три страницы, где обсуждается тоже самое. Такое ощущение, что дальше идёт просто демагогия на тему "что лучше".
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
01.01.2013, 21:39  [ТС]
Цитата Сообщение от dima-dima Посмотреть сообщение
демагогия на тему "что лучше".
Так оно и есть, почему бы не поговорить? Жаль, что мы не понимаем просто друг друга.
0
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
01.01.2013, 22:28
точней тебя никто не понимает, ибо ересь какую-то несешь уже в которой теме
каждый раз одно и тоже - сначала 2 страницы все пытаются понять о чем речь, потом две страницы демагогия "а если бы во рту росли грибы"

Цитата Сообщение от kravam Посмотреть сообщение
новый год отмечаем? Так-то я все примеры компилю, прежде чем их сюда выкладывать. И без finally всё компилится на ять, пример смотри выше.
я имею в виду что наличие return в catch не позволит его обойти, если его нету зачем упоминать его? звучит именно как "я напишу ретурн и исключу finaly"

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
static void Main()
        {
            try
            {
            //А ту генерится или нет исключение. Если генерится, то
            //оно обрабатывается и программа заканчивается.
            //Или просто выходим из программы. 
            }
            catch (iskl exc)
            {
             //Тут обрабатывем исключение а потом    return ; самого метода который ниже
         
             //Просто не правда ли?
            //и никто по второму разу на metka не пойдёт
             // потому что никаких  metka тут нет и они нах не нужны           
            }
            //а блока finally нет 
            
            return ;
 
        }
о чем речь вообще хз
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
01.01.2013, 22:35  [ТС]
Цитата Сообщение от m0nax Посмотреть сообщение
ересь какую-то несешь уже в которой теме
Потому что я всегда ересь несу. И не беспокойся больше обо мне.
Вон сколько тем кругом интересных- знай сортируй массивы по возрастанию методом пузырька. Там и спорить никто не будет и очки наберёшь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.01.2013, 22:35

Переход в другую процедуру по метке
Можно-ли перейти по метке в другую процедуру? Добавлено через 7 минут Не, я понимаю что можно проверить в компиляторе, но ведь можно...

Не получается устроить переход к метке
Доброе время суток! В Borland C сделал ассемблерную вставку такого типа show: код программы jnc show на что компилятор отвечает...

Переход к метке по имени хранящемуся в строковой переменной
Возможен-ли переход к метке по имени хранящемуся в строковой переменной?

Переход к нужной метке оператора в зависимости от значения параметра транзакта
Привет, форум! В коде я задаю значение первого параметра в 1 или в 0 в зависимости от необходимости с помощью: ASSIGN 1,1 Но далее...

Переход без goto
Как сделать ссылку, не через goto. Подскажите пожалуйста. заранее спасибо A: Console.WriteLine("Выберите файл содержащий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru