Раньше я работал в .NET C#, и недавно я начал изучать программирование с объективом c и iOS. Несколько раз я читал, что цель-c является исключением недружелюбным, и я не должен их обрабатывать. Я знаю, что лучше не вызывать каких-либо исключений, но разве они не созданы для защиты нашего кода? Обработка исключений очень распространена в .NET, и я не могу понять, почему я не должен делать это в объективе-c.Почему объективные исключения c недружественны?
ответ
Даже в .NET исключения не предназначены для потока программы. Тот факт, что некоторые программисты используют их как таковые, это всего лишь плохое программирование. Спектакль ужасен. Часто вы увидите программы, отображающие сообщения об ошибках из обработки исключений, которые не имеют смысла для конечного пользователя. Такой дизайн делает приложение не аварийным, но не предоставляет конечным пользователям много информации.
Вы можете использовать исключения как программный поток так же, как в .NET. Ничто не останавливает вас. Снижение производительности, вероятно, на самом деле меньше, чем в .NET.
Причина, по которой вы не должны, состоит в том, что эти исключения происходят по причине. Вы не используете рамки должным образом. Вы ничего не реализовали. И т. Д.
- 1. Объективные махинациями C
- 2. Сравнение строк Объективные C
- 3. Объективные категории C
- 4. Объективные синтаксис C различия
- 5. Объективные операции c переменными
- 6. Объективные копии сигнатуры метода C
- 7. Объективные C-блоки для Swift
- 8. Объективные преимущества синтаксиса C-стиля
- 9. Объективные C-блоки в Swift
- 10. Объективные свойства C против аргументов
- 11. Объективные C-блоки и переменные
- 12. Когда переопределить объективные c геттеры
- 13. Объективные категории C == шаблон посетителя?
- 14. объективные классы C, почему возвращать - (идентификатор) вместо его собственного класса
- 15. Почему LLDB отказывается сломать скомпилированные объективные методы C?
- 16. Объективные методы класса C против функций C
- 17. объективные рекомендации с кодированием
- 18. Новичок: Объективные ошибки C в XCode
- 19. Объективные блоки C в диаграмме классов UML
- 20. Объективные методы C [сделать выпуск] выпуск
- 21. Объективные категории C, эквивалентные в PHP
- 22. блокирование в php как объективные c-блоки?
- 23. Объективные местоположения C символов в строке
- 24. Объективные указателей C к примитивным типам
- 25. Объективные данные c не загружаются в таблицуView
- 26. Объективные переменные доступа C от других классов?
- 27. Объективные-C PHP MySQL JSON - вызов значения
- 28. Объективные типы данных C/Математика возвращение 0,0000
- 29. Оптимизация: 2 Объективные ограничения
- 30. Объективные вопросы по PHP
В разделе «Каковы наилучшие методы для исключений/возврата NO/nil в Objective-c?» никто не объясняет, ПОЧЕМУ я не должен их использовать. И «Почему я не должен обертывать каждый блок в« try »-« catch », до сих пор не объясняет, почему обработка исключений в объекте-c менее рекомендуется, например, для .NET (так как это явно не для того, чтобы злоупотреблять им). – KlimczakM
Это не имеет никакого отношения к ObjC, и все, что связано с Cocoa. Внутри, Cocoa не обертывает все в @ try/@ catch/@, наконец, поэтому, если Cocoa вызывает ваш код, он не подготовлен к тому, чтобы ваш код выдавал исключение, даже если вы позже его поймаете. –