0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 36
1

Как отловить исключение в приведенном коде

19.10.2012, 13:31. Показов 872. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Скажите пожалуйста как сделать в этом коде исключение? Например при вводе текста - пользователь набирает только цифры,выдается ошибка и пишется "наберите текст символами латиницы",ну или как-то так. Скажите как это можно сделать?

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            // Часть программы, которая осощуствляет замену найденного образца
            Regex re = new Regex(@"(Федот)");
            // Вывод исходного слова
            Console.Write("Исходное слово: Федотова");
            string stroka = "Федотова";
            // Replace - метод класса, который позволяет делать замену найденного образца
            stroka = re.Replace(stroka, "Красн");
            // Вывод измененного слова
            Console.WriteLine("\nИзмененное слово: {0}", stroka);
 
            // Часть программы, которая осуществляет поиск заданного образца в тексте, введеном пользователем 
            string poisk = "Джек"; 
            System.Console.Write("\n\nВведите текст:");
            string text = Console.ReadLine();
            FindMatches(text, poisk); // Функция для поиска числа соответствий
        }
        static void FindMatches(string text, string poisk)
        {
            // Regex представляет регулярное выражение
            Regex pat = new Regex(poisk);
            // MatchCollection создаёт коллекцию для поиска. "Matches" ищет.
            MatchCollection match = pat.Matches(text);
            // Count получает число записей.
            Console.WriteLine("Текст ={0}\n\nОбразец для поиска={1}\n\nНайдено={2}", text, poisk, match.Count);
            // Выход из прогрaммы нажатием клавишы ENTER
            Console.WriteLine("\n\n\t\t\tНажмите ENTER для выхода из программы\a");
            Console.ReadLine();
 
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2012, 13:31
Ответы с готовыми решениями:

Как отловить исключение в приложении
Есть функция загрузки файла из интернета: void setFonts() { ...

Как отловить такое исключение?
Здравствуйте, использую try catch. Подключаюсь к файерберду и подключаюсь к БД через алиасес.конф....

Как отловить исключение в чужом классе?
Здравствуйте! Подскажите пожалуйста, как отловить исключение, которое возникает в чужом классе,...

Как организовать задержку в приведенном коде
Подскажите пожалуйста как организовать задержку в таком коде: CSEG segment org 100h Begin: ...

4
54 / 52 / 10
Регистрация: 28.09.2012
Сообщений: 97
19.10.2012, 14:18 2
Ковальски, по-моему, в Вашем случае лучше бы организовать проверку ввода без выброса исключения.
Например, так:
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
45
46
47
48
49
50
51
52
53
54
55
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication6
{
    class Program
    {
        static void Main(string[] args)
        {
            // Часть программы, которая осощуствляет замену найденного образца
            Regex re = new Regex(@"(Федот)");
            // Вывод исходного слова
            Console.Write("Исходное слово: Федотова");
            string stroka = "Федотова";
            // Replace - метод класса, который позволяет делать замену найденного образца
            stroka = re.Replace(stroka, "Красн");
            // Вывод измененного слова
            Console.WriteLine("\nИзмененное слово: {0}", stroka);
 
            // Часть программы, которая осуществляет поиск заданного образца в тексте, введеном пользователем 
            string poisk = "Джек";
            bool b;
            string text = "";
            do
            {
                b = false;
                System.Console.Write("\n\nВведите текст:");
                text = Console.ReadLine();
                if (text.Any(c => Char.IsDigit(c)))
                {
                    Console.Write("Наберите текст символами латиницы!\n");
                    b = true;
                }
            }
            while (b);
            FindMatches(text, poisk); // Функция для поиска числа соответствий
        }
        static void FindMatches(string text, string poisk)
        {
            // Regex представляет регулярное выражение
            Regex pat = new Regex(poisk);
            // MatchCollection создаёт коллекцию для поиска. "Matches" ищет.
            MatchCollection match = pat.Matches(text);
            // Count получает число записей.
            Console.WriteLine("Текст ={0}\n\nОбразец для поиска={1}\n\nНайдено={2}", text, poisk, match.Count);
            // Выход из прогрaммы нажатием клавишы ENTER
            Console.WriteLine("\n\n\t\t\tНажмите ENTER для выхода из программы\a");
            Console.ReadLine();
 
        }
    }
}
1
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 36
19.10.2012, 16:44  [ТС] 3
Спасибо большое, скажите а вы можете объяснить строчку if (text.Any(c => Char.IsDigit(c))). Что она делает?
0
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
19.10.2012, 17:14 4
Вообщем-то Any() определяет содержатся в последовательности какие-то элементы (в нашем случае - IsDidig - т.е является ли элемент цифрой). подробнее msdn Any()
1
0 / 0 / 0
Регистрация: 22.06.2012
Сообщений: 36
19.10.2012, 19:54  [ТС] 5
Спасибо
0
19.10.2012, 19:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2012, 19:54
Помогаю со студенческими работами здесь

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

Как в приведенном коде работает malloc?
#include <stdio.h> #include <memory.h> #include <stdlib.h> #include <string.h> #include...

Как устроена сортировка в приведенном коде
Язык СИ Ребята, не знаю уже, что делать. Скоро сдавать программку, а я до сих пор не могу понять...

Как отобразить время в приведенном коде
В этом цикле надо каким-то макаром применить вид времени, у меня получилось, но он тогда не хочет...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru