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

awk 'NR>2&&NR<5' Input_file - это место, где мы проверяем условие, если номер строки больше 2 и больше 5, затем выполняем действие по умолчанию, которое печатает текущую строку.

В вашем коде awk '{print NR>2&&NR<5}' Input_file, здесь вы используете print, а затем упоминаете условие, которое НЕ работает awk.

awk работает по методу:

Condition_check/regexp{action}

, если НЕТ никакого действия, то по умолчанию произойдет печать текущей строки, которая происходит в вашем первый код.

Дополнительный анализ: Чтобы доказать, что точка {print NR>2&&NR<5} НЕ будет вести себя как метод по умолчанию awk из regexp/condition_check{action}, запустите:

awk '{print (NR>2&&NR<5)}' Input_file

Посмотрите на вывод, что он предоставит:

0
0
1
1
0
0
0
0
0
0

См. Строки 3 и 4, где 1 означает, что условие для этой строки - ИСТИНА, а 0 - условие для этой строки, - ЛОЖЬ. Таким образом, мы можем видеть, что он печатает состояние STATE в выражении print, если мы используем условие в (..), как упомянуто выше.

10
задан Bonnici 12 October 2008 в 02:44
поделиться

3 ответа

Деликатный вопрос, у Вас есть 20/20 видение. C#/.NET не реализует оператор бросков (т.е. контролируемые исключительные ситуации).

Любой происходящий из языка, такого как Java, вероятно, задастся вопросом об этом.

Anders Hejlsberg, родительский элемент C#, объясняет объяснение позади упущения контролируемых исключительных ситуаций из C# в этой статье/интервью. Это - хорошее чтение.

От той статьи говорит Anders:

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

Так, как Mitch и монооксид сказали, документация MSDN для FCL.NET перечисляет исключения, относящиеся к каждому классу и также исключениям, возможным в каждом пространстве имен.

8
ответ дан 4 December 2019 в 01:03
поделиться

Если функция выдает исключение, она обычно перечисляется у основания офлайновой страницы справки, или в Обозревателе объектов. Это также перечислило только под информацией о том, как вызвать функции в библиотеке MSDN онлайн, например, строке. Содержит (), это маркировано как "Исключения".

Как дальнейшее, это - только функции, свойства, и т.д. которые на самом деле выдают исключения, таким образом, эти вещи не охвачены в общей документации, только в документации для функций или средств доступа, которые на самом деле бросают их, как в данном примере. Ваш лучший выбор состоит в том, чтобы иметь введение по абсолютному адресу вокруг обозревателя объектов в VS с class/es, которым Вы интересуетесь.

2
ответ дан 4 December 2019 в 01:03
поделиться

.NET не реализует ничего как ключевое слово 'бросков' в Java, таким образом, Ваш лучший выбор состоит в том, чтобы проверить документацию MSDN онлайн.

Править: если Вы смотрите на Пространство имен doco (для Системы. IO, например), это перечисляет возможные вызванные исключительные ситуации.

1
ответ дан 4 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: