преимущества и недостатки использования try/catch

Я хочу спросить, в чем заключается advantage и disadvantages использование try/catch? и когда я должен его использовать и когда я не должен его использовать?


person Raed Alsaleh    schedule 11.02.2013    source источник


Ответы (2)


Когда вы используете некоторые внешние элементы управления/библиотеки DLL в своем приложении, и вы не уверены в его работе, и вы не хотите, чтобы ошибка в этом внешнем элементе управления остановила ваше собственное приложение, вы можете использовать Try/Catch. Это не остановит ваше приложение полностью из-за фатальной ошибки в этом элементе управления. Но часть вашего кода, использующая этот элемент управления, не будет работать.

Это не означает, что вы можете использовать Try Catch в своем собственном коде, чтобы избежать фатальных ошибок, это может привести к серьезной ошибке в вашем приложении.

Обычно Try/Catch можно использовать для отладки приложения, после чего вы можете удалить блок Try/Catch.

person kewal    schedule 11.02.2013
comment
Возможно, вы писали с точки зрения своего конкретного сценария, но блоки try-catch являются чрезвычайно полезными механизмами обработки исключений и на самом деле не предназначены для использования в качестве инструмента отладки. Рассмотрим, например, систему загрузки файлов, которая принимает максимальный размер файла 4 МБ. Пользователь загружает файл размером 2 МБ, полный изображений, которые при сериализации содержат более 2 миллионов символов. Это незапланированная ситуация, которая требует использования блока catch для изящной обработки ошибки. - person pkamathk; 05.03.2021

Операторы Try-Catch-Finally — это действительно мощная структура, которая помогает вашей программе безукоризненно работать на большинстве систем. Это отличный механизм обработки ошибок, который помогает вашей программе избежать сбоя. Я хочу начать с недостатков этого механизма, так как недостатков очень мало; Во-первых, при работе внутри оператора try-catch вы немного потеряете в производительности, потому что какой-то внутренний механизм проверяет любое исключение, которое нужно перехватить, однако эту потерю производительности можно игнорировать в современных системах, и эта потеря настолько мала по сравнению с идеей запуска всего. программу с самого начала из-за сбоя, произошедшего из-за неперехваченного исключения. Во-вторых, концепция механизма try-catch поначалу немного сложна для понимания, вам следует подумать, где и когда лучше использовать операторы try-catch. Однако это одна из самых восточных концепций сложных структур в программировании. Глядя на преимущества стороны; Механизм перехвата исключений помогает вам решить, что вы хотите делать в случае возникновения исключения. Например, думая об онлайн-игре, когда возникает исключение, которое показывает потерю соединения с сервером, вы можете позволить пользователю играть в автономном режиме, а другой человек может решить выгнать его из игры и сообщить игроку, что он был отключен. Кроме того, система исключений позволяет создавать и использовать фреймворки, поскольку кодировщик фреймворка сообщает вам, что при использовании его фреймворка возникает исключение, и вы будете выполнять работу так, как будете реагировать на это исключение. Наконец, это поможет вам упростить систему обнаружения ошибок. Рассмотрите возможность выполнения каждого метода внутри оператора if-else и посмотрите, исправлена ​​ли ошибка, так как вскоре она станет беспорядочной, и через некоторое время вы не сможете читать свой собственный код. Однако в блоке try-catch вы можете выполнять десятки сотен операций, которые могут завершиться неудачно, и просто инкапсулировать код в простой блок try-catch. Сейчас мне больше ничего не приходит в голову, но надеюсь, что это поможет вам понять, почему использование try-catch полезно.

person Herhangi    schedule 11.02.2013