Suren97 Ответов: 3

C# как я могу проверить исключение?


Например в консоли я должен ввести 3 данных`
string,string,int
.
если я напишу какое-либо из слов неправильно,например первые данные, которые я написал как целое число,он предупредит меня любым сообщением,например`
(some data are not correct)

Как я могу написать это исключение через try catch,какое условие я должен написать в try catch?

Что я уже пробовал:

Может быть, я должен писать с int.Метод tryparse?

Leo Chapiro

-может быть, я должен писать с int.TryParse -> Может быть.
Что же пошло не так с этим подходом?

Suren97

я не пробовал,я не знаю, как это написать

3 Ответов

Рейтинг:
1

F-ES Sitecore

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

Вместо этого вы должны использовать string.split (google для примеров), чтобы разделить строку на запятую, а затем пройти через каждый сегмент и использовать соответствующую функцию TryParse, so int.Метод tryparse, типа bool.TryParse и т.д., Чтобы проверить их в свою очередь. Опять же, просто google для примеров того, как использовать int.tryParse и т. д.


Рейтинг:
0

CPallini

В качестве входных данных число является допустимой строкой: вы не получите исключения.
Напишите свой собственный метод проверки последовательности входных параметров.
Такой метод может вернуть bool (любить TryParse), код ошибки (для того, чтобы получить больше информации) или даже выброшенный Exception (этот вызывающий код должен затем обработать его).


Рейтинг:
0

Shashank Laxman

For int you must try TryParse method.

For string u can typecast like :

int intA = 10;
string a = (string) intA;

but sometimes this may throw exceptions.

Instead try using : 

int intA = 10;
string a = Convert.ToString(intA);

The Convert.ToString() method will never throw exception and handles null as well when compared to typecasting.


phil.o

string a = intA.Tostring();

С помощью Convert класс для получения строкового представления целого числа на самом деле не очень хорошая практика. Что касается целочисленного параметра, то здесь нет нулевого ссылочного исключения для обработки, так как int является типом значения и поэтому никогда не может быть нулевым.

Shashank Laxman

Вопрос сам по себе является шуткой