Вопросы с тегом «exceptions»

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

9
Почему многие сообщения об исключениях не содержат полезных деталей?
Кажется, существует определенное соглашение о том, что сообщения об исключениях должны содержать полезные детали . Почему многие распространенные исключения из системных компонентов не содержат полезных деталей? Несколько примеров: .NET Listдоступ индекса ArgumentOutOfRangeExceptionникак не говорит мне значение индекса , который был испытанным и был недействительным, и не говорит мне допустимый диапазон. …
220 c#  c++  exceptions 

22
Являются ли нулевые ссылки действительно плохой вещью?
Я слышал, что включение нулевых ссылок в языки программирования является «ошибкой в ​​миллиард долларов». Но почему? Конечно, они могут вызывать NullReferenceExceptions, но что с того? Любой элемент языка может быть источником ошибок при неправильном использовании. И какая альтернатива? Я полагаю, вместо того, чтобы сказать это: Customer c = Customer.GetByLastName("Goodman"); // …

9
Являются ли исключения в качестве контрольного потока серьезным антипаттерном? Если так, то почему?
Еще в конце 90-х я довольно много работал с базой кода, которая использовала исключения в качестве управления потоком. В нем реализован конечный автомат для управления приложениями телефонии. В последнее время мне вспоминаются те дни, потому что я занимался веб-приложениями MVC. У них обоих есть Controllers, которые решают, куда идти дальше, …

13
Исключение по сравнению с пустым набором результатов, когда входные данные технически действительны, но не удовлетворяют
Я занимаюсь разработкой библиотеки, предназначенной для публичного выпуска. Он содержит различные методы для работы с наборами объектов - генерация, проверка, разбиение и проецирование наборов в новые формы. Если это уместно, это библиотека классов C # с включенными расширениями в стиле LINQ IEnumerable, которая будет выпущена в виде пакета NuGet. Некоторые …

7
Как написать хорошее сообщение об исключении
В настоящее время я делаю обзор кода, и одна из вещей, на которые я обращаю внимание, - это число исключений, когда сообщение об исключении, кажется, просто повторяет, где произошло исключение. например throw new Exception("BulletListControl: CreateChildControls failed."); Все три пункта в этом сообщении я могу отработать из остальных исключений. Я знаю …
101 exceptions 

12
Мне сказали, что исключения должны использоваться только в исключительных случаях. Как я узнаю, является ли мой случай исключительным?
Мой конкретный случай здесь заключается в том, что пользователь может передать строку в приложение, приложение анализирует ее и назначает ее структурированным объектам. Иногда пользователь может ввести что-то недопустимое. Например, их вклад может описать человека, но они могут сказать, что их возраст - «яблоко». Правильное поведение в этом случае - откатить …

9
Проверьте сначала против обработки исключений?
Я работаю над книгой «Head First Python» (это мой язык для изучения в этом году), и я попал в раздел, где они спорят о двух методах кода: Проверка First против Exception обработка. Вот пример кода Python: # Checking First for eachLine in open("../../data/sketch.txt"): if eachLine.find(":") != -1: (role, lineSpoken) = …

6
Лучше использовать assert или IllegalArgumentException для обязательных параметров метода?
В Java, что более рекомендуется и почему? Оба типа будут генерировать исключения, поэтому обработка их одинакова. assertнемного короче, но я не уверен, насколько это важно. public void doStuff(Object obj) { assert obj != null; ... } против public void doStuff(Object obj) { if (obj == null) { throw new IllegalArgumentException("object …

8
Вернуть магическое значение, выбросить исключение или вернуть ложь при неудаче?
Иногда мне приходится писать метод или свойство для библиотеки классов, для которой нет ничего исключительного в том, что у меня нет реального ответа, но есть ошибка. Что-то не может быть определено, недоступно, не найдено, в настоящее время невозможно или больше нет доступных данных. Я думаю, что есть три возможных решения …

10
Исключения, коды ошибок и дискриминационные союзы
Я недавно начал работу по программированию на C #, но у меня есть немного опыта в Haskell. Но я понимаю, что C # является объектно-ориентированным языком, я не хочу вбивать круглый колышек в квадратное отверстие. Я прочитал статью « Исключение исключений» от Microsoft, в которой говорится: НЕ возвращайте коды ошибок. …
80 c#  exceptions 

8
Зачем использовать try… наконец без предложения catch?
Классический способ программирования с try ... catch. Когда уместно использовать tryбез catch? В Python следующее кажется законным и может иметь смысл: try: #do work finally: #do something unconditional Тем не менее, код ничего не сделал catch. Точно так же можно подумать, что в Java это будет выглядеть следующим образом: try …

14
Почему арифметическое переполнение игнорируется?
Вы когда-нибудь пытались суммировать все числа от 1 до 2 000 000 на вашем любимом языке программирования? Результат легко вычислить вручную: 2 000 001 000 000, что примерно в 900 раз превышает максимальное значение 32-разрядного целого числа без знака. C # распечатывает -1453759936- отрицательное значение! И я думаю, что Java …

13
Это хорошая практика, чтобы поймать проверенное исключение и выдать RuntimeException?
Я прочитал некоторый код коллеги и обнаружил, что он часто перехватывает различные исключения, а затем всегда выдает «RuntimeException». Я всегда думал, что это очень плохая практика. Я ошибаюсь?

12
Наличие флага, указывающего, должны ли мы выдавать ошибки
Я недавно начал работать в месте с некоторыми намного более старшими разработчиками (приблизительно 50 лет). Они работали над критическими приложениями, касающимися авиации, где система не могла выйти из строя. В результате старший программист имеет тенденцию кодировать этот путь. Он имеет тенденцию помещать логическое значение в объекты, чтобы указать, должно ли …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.