Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480

Можно ли настроить, чтобы в случае ошибки командное окно не закрывалось?

30.12.2021, 20:50. Показов 3376. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочется, чтобы в случае ошибки командное окно не закрывалось, но запускать программу, каждый раз вызывая cmd и там прописывать путь, лень. Хочется просто щелкать на exe. Может можно где-нибудь в реестре указать или что-то в программе дописать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.12.2021, 20:50
Ответы с готовыми решениями:

Нужно чтобы окно не закрывалось по выполнению.
Кто-нибудь знает, как в VC++.NET сделать, чтобы окно отработавшей консольной программы не закрывалось по выполнению, а оставалось, как в...

Как сделать чтобы окно автоматом не закрывалось?
Памагите. Когда запускаю какойнибудь код то оч быстро выскакивает и закрывается. Как сделать чтобы окно автоматом не закрывалось?

Хочу, чтобы окно не закрывалось после выполнения программы
Написал программу преобразования температуры, заданной в Цельсиях, в температуру по Фаренгейту // Программа для преобразования...

41
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
31.12.2021, 14:35  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Элд Хасп Посмотреть сообщение
И исключение в нём, по мему, не сможет (без Дебагера) определить строку исходного кода Шарпа.
Я предполагал, что в файле pdb есть вся информация.
А студия пишет что-нибудь на диск, если программа крутится постоянно?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
31.12.2021, 15:05
Fylhtq05, в Exception есть же информация о строке.
Пример:
КонсольMicrosoft Windows [Version 10.0.19043.1415]
(c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

C:\Users\EldHa>cd C:\Users\EldHa\Мои проекты\CyberForurm\CyberForumConsole\Fe br20y\bin\Debug\net5.0

C:\Users\EldHa\Мои проекты\CyberForurm\CyberForumConsole\Fe br20y\bin\Debug\net5.0>febr20y
Unhandled exception. System.Exception: Exception of type 'System.Exception' was thrown.
at Febr20y.Program.Main(String[] args) in C:\Users\EldHa\Мои проекты\CyberForurm\CyberForumConsole\Fe br20y\Program.cs:line 274

C:\Users\EldHa\Мои проекты\CyberForurm\CyberForumConsole\Fe br20y\bin\Debug\net5.0>


Вам ещё какая-то иная строка нужна?

Добавлено через 1 минуту
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
А студия пишет что-нибудь на диск, если программа крутится постоянно?
А причем здесь Студия, если вы не в дебагере приложение запускаете?
1
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
31.12.2021, 15:20  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Вам ещё какая-то иная строка нужна?
Конечно. Мне нужна строка в методе, где произошло исключение, а не строка начала самого метода, в котором это произошло.
Цитата Сообщение от Элд Хасп Посмотреть сообщение
А причем здесь Студия, если вы не в дебагере приложение запускаете?
Если студия ничего не пишет, я бы даже отлаженные приложения в ней запускал на всякий случай. А если пишет, то не приведет ли постоянно работающее приложение года через 3 к износу SSD?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
31.12.2021, 16:25
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
Конечно. Мне нужна строка в методе, где произошло исключение, а не строка начала самого метода, в котором это произошло.
В моём примере строка 274 - это строка в которой произошло исключение.

Цитата Сообщение от Fylhtq05 Посмотреть сообщение
Если студия ничего не пишет
Думаю пишет, раз в ней есть автовосстановление файлов в случае сбоя.
Но вот сколько, как часто, в каких случаях не могу сказать.

Цитата Сообщение от Fylhtq05 Посмотреть сообщение
то не приведет ли постоянно работающее приложение года через 3 к износу SSD?
По сравнению с ОС можете считать, что Студия сама по себе ничего не пишет.
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
31.12.2021, 16:37
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
Мне нужна строка в методе, где произошло исключение
Если исключение во вложенном методе, то вывод (например) такой:
КонсольUnhandled exception. System.FormatException: Input string was not in a correct format.
at System.Number.ThrowOverflowOrFormatExcep tion(ParsingStatus status, TypeCode type)
at System.Number.ParseInt32(ReadOnlySpan`1 value, NumberStyles styles, NumberFormatInfo info)
at System.Int32.Parse(String s)
at QuotationsData.QuotationsTableTest.TestL oadString() in C:\Users\EldHa\Мои проекты\CyberForurm\CyberForumConsole\Fe br20y\QuotationsData\QuotationsTableTest .cs:line 132
at Febr20y.Program.Main(String[] args) in C:\Users\EldHa\Мои проекты\CyberForurm\CyberForumConsole\Fe br20y\Program.cs:line 295


295 - строка вызова метода.
132 - строка в вызванном методе где произошло исключение.
1
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
31.12.2021, 16:53  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
132 - строка в вызванном методе где произошло исключение.
Это строка начала метода (т.е. строка объявления метода), в котором произошло исключение, но не строка кода метода, на котором произошло исключение. Что и написал ранее.

Добавлено через 2 минуты
Цитата Сообщение от Элд Хасп Посмотреть сообщение
В моём примере строка 274 - это строка в которой произошло исключение.
Проверьте еще раз.

Добавлено через 1 минуту
Цитата Сообщение от Элд Хасп Посмотреть сообщение
По сравнению с ОС можете считать, что Студия сама по себе ничего не пишет.
А ОС я не перегружаю, пока не произойдет какой-нибудь ошибки в программе.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
31.12.2021, 17:20
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
Это строка начала метода (т.е. строка объявления метода), в котором произошло исключение, но не строка кода метода, на котором произошло исключение. Что и написал ранее.
Я не знаю что у вас в коде.
В моём коде это строка возникновения исключения:

C#
295
            QuotationsTableTest.TestLoadString();
C#
6
7
8
    public class QuotationsTableTest
    {
        public static void TestLoadString()
C#
132
            var num = int.Parse("dsf");
Добавлено через 1 минуту
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
А ОС я не перегружаю, пока не произойдет какой-нибудь ошибки в программе.
Я имел ввиду, что ОС тоже что-то пишет на диск.
И в сравнении с этим, то что пишет Студия - это мизер и можно этим пренебречь.
1
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
31.12.2021, 18:13  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Я не знаю что у вас в коде.
В моём коде это строка возникновения исключения:
Это у вас в режиме отладки. Строка в режиме отладки меня не интересует. А если щелкните на релиз, о чем я и пишу здесь, то строка срабатывания исключения будет = первой строке начала метода после {.
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
using System;
namespace ErrorCheck
{
    internal class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("Hello World!");
                Cl.Write();
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Исключение: {ex.Message}");
                Console.WriteLine($"Метод: {ex.TargetSite}");
                Console.WriteLine($"Трассировка стека: {ex.StackTrace}");
            }
        }
    }
    class Cl
    {
        public static void Write()
        {
            Console.WriteLine("h");
            Console.WriteLine("h");
            Console.WriteLine("h");
            int[] ari = new int[2] { 1, 2 };
            Console.WriteLine(ari[3]);
        }
    }
}
Теперь замена:
C#
1
2
3
4
5
6
7
8
public static void Write()
{
    Console.WriteLine("h");
    Console.WriteLine("h");
    Console.WriteLine("h");
    int[] ari = new int[2] { 1, 2 };
    Console.WriteLine(ari[3]);
}
Соответствующие выводы:
Microsoft Windows [Version 10.0.19044.1415]
(c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

C:\Users\Андрей>C:\Users\Андрей\source\r epos\CheckError\CheckError\bin\Release\n et6.0\CheckError.exe
Hello World!
Исключение: Index was outside the bounds of the array.
Метод: Void Write()
Трассировка стека: at ErrorCheck.Cl.Write() in C:\Users\Андрей\source\repos\CheckError\ CheckError\Program.cs:line 25
at ErrorCheck.Program.Main(String[] args) in C:\Users\Андрей\source\repos\CheckError\ CheckError\Program.cs:line 11

C:\Users\Андрей>C:\Users\Андрей\source\r epos\CheckError\CheckError\bin\Release\n et6.0\CheckError.exe
Hello World!
h
h
h
Исключение: Index was outside the bounds of the array.
Метод: Void Write()
Трассировка стека: at ErrorCheck.Cl.Write() in C:\Users\Андрей\source\repos\CheckError\ CheckError\Program.cs:line 25
at ErrorCheck.Program.Main(String[] args) in C:\Users\Андрей\source\repos\CheckError\ CheckError\Program.cs:line 11

C:\Users\Андрей>

Добавлено через 6 минут
В первом случае:
C#
1
2
3
4
5
6
7
8
public static void Write()
        {            
            int[] ari = new int[2] { 1, 2 };
            Console.WriteLine(ari[3]);
            Console.WriteLine("h");
            Console.WriteLine("h");
            Console.WriteLine("h");
        }
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
31.12.2021, 18:32
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
Это у вас в режиме отладки.
Нет.
Это не в режиме отладки.
Запускаю из командной строки экзешник.
0
bite
 Аватар для I can
5009 / 4819 / 852
Регистрация: 13.04.2015
Сообщений: 10,085
31.12.2021, 18:32
Оставлю ссылку на всякий случай. Как отловить необработанные исключения.
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
31.12.2021, 18:37
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
А если щелкните на релиз
А... вы имеете ввиду Сборку Debug и Release.
В Release режется много ненужной информации, так же там совсем другая оптимизация.
Часто даже невозможно из CIL Release перейти к конкретной строке исходного кода по которому получен этот CIL.

Если нужны строки и сходного кода, то эту информацию надо включить в сборку.
То есть сборка должна быть с Debug информацией.

Добавлено через 1 минуту
Для примера попробуйте сделать Release сборку и запустить её в Дебагере Студии на пошаговое исполнение.
Далеко не в любом месте кода это получится.
1
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
31.12.2021, 18:43  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
А... вы имеете ввиду Сборку Debug и Release.
Угу.
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Если нужны строки и сходного кода, то эту информацию надо включить в сборку.
То есть сборка должна быть с Debug информацией.
Когда-то после отладок приходит время запуска релиза. Крутится месяц, а потом исключение непонятно на какой строке.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
31.12.2021, 18:46
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
Когда-то после отладок приходит время запуска релиза. Крутится месяц, а потом исключение непонятно на какой строке.
Ничего не поделаешь.
Если нужна информация, то её надо включать в сборку.
В сборке Release этой информации нет, поэтому и вывести её невозможно.
1
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
31.12.2021, 19:04  [ТС]
Цитата Сообщение от I can Посмотреть сообщение
Оставлю ссылку на всякий случай.
Не могли бы пояснить, чем написание и добавление MyHandler к событию UnhandledException лучше try в Main на весь код?

Добавлено через 2 минуты
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Ничего не поделаешь.
А вы свои проекты клиентам передаете как релиз или дебаг, чтобы знать, что произошло?
0
bite
 Аватар для I can
5009 / 4819 / 852
Регистрация: 13.04.2015
Сообщений: 10,085
31.12.2021, 19:09
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
в Main на весь код?
Main может быть и не на весь код.
2
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
31.12.2021, 19:11  [ТС]
Цитата Сообщение от I can Посмотреть сообщение
Main может быть и не на весь код.
Это мне не поднять)))
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
01.01.2022, 02:52
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
А вы свои проекты клиентам передаете как релиз или дебаг, чтобы знать, что произошло?
Релиз.
Но перед этим тестирование.
Тестирование провожу не я, мне только сообщают о его результатах.

Добавлено через 2 минуты
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
Не могли бы пояснить, чем написание и добавление MyHandler к событию UnhandledException лучше try в Main на весь код?
Если в майн несколько вызовов разных методов, то каждый можно обернуть в отдельный try и задать уникальную обработку.

Добавлено через 5 минут
Цитата Сообщение от AndreyVorobey Посмотреть сообщение
это сообщение отправлено автоматически, и в ответе не нуждается.

Я не хотел задеть вас никоим образом.
Вы много, часто и очень полезно отвечаете разным пользователям.
Я "двумя руками" за это.
Я хотел только обратить ваше внимание, что вопрос ТС несколько об ином.
Хотя вполне возможно сам ТС не вполне понимает предмет своего вопроса.
Но вам, как более опытному разработчику, стоило бы, на мой взгляд, уточнить, что, собственно, ТС хочет.
0
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
01.01.2022, 12:04  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
сам ТС не вполне понимает предмет своего вопроса.
Сколько же людей лучше меня знают, понимаю я свой вопрос или нет. Но ни разу не встречал тех, кто сомневается, понимают ли они свой ответ.
Всех С Новым годом!)))
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
01.01.2022, 13:09
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
Сколько же людей лучше меня знают, понимаю я свой вопрос или нет.
Это же я обращался к AndreyVorobey.
И ремарка была относительно его предположения.
Я же (по смыслу) написал, что даже если это так (возможно), то лучше уточнить детали вопроса, чем давать неподходящие ответы.

Добавлено через 2 минуты
Fylhtq05, и в нашем с вами общении были прояснены многие такие детали, которые отсутствовали в первоначальном вопросе.
Что позволило более-менее полно понять проблему и возможно ли её решить.

Добавлено через 5 минут
Цитата Сообщение от Fylhtq05 Посмотреть сообщение
Всех С Новым годом!)))
Взаимно!
1
109 / 52 / 16
Регистрация: 09.06.2021
Сообщений: 480
01.01.2022, 13:14  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
я обращался к AndreyVorobey.
А... Ну это совсем другое дело. Тогда можно еще разные предположения об этом TC разным участникам писать.
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Что позволило более-менее полно понять проблему и возможно ли её решить.
Спасибо. И в этой теме и ранее в других реально помогли.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.01.2022, 13:14

Как сделать чтобы консольное окно само не закрывалось?
Собственно "Заголовок" и есть вопрос-) ну как сделаны например сервера из игры(DEDICATED) что у них что вводить команды можно, и окно не...

Как сделать чтобы окно в Visual c++ не закрывалось в винде ?
Как сделать чтобы окно после нажатия f5 в Visual c++ не закрывалось в винде ? я только начинаю напишите как можно подробней, если...

Как сделать, чтобы не закрывалось окно командной строки?
после исполнения оно закрывается. Не посмотреть результат(((

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
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
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru