На этот вопрос не существует независимого от языка ответа, но я предполагаю, что плагин является своего рода dll.
Если вы можете избежать доверия к плагину, есть некоторые потенциальные преимуществаизбегать этого.Если ничего другого, это помогает изолировать ошибки, но также предоставляет вашему пользователю некоторую защиту от вредоносных плагинов и помогает с надежностью и надежностью вашего приложения.
Однако, довольно трудно избежать доверия к плагину.В зависимости от ОС, собираетесь ли вы запускать его в своем собственном процессе с минимальными привилегиями, без доступа к файловой системе или сокетам, ограниченным доступом к таким ресурсам, как память и процессорное время, монитором, который убьет его, если он окажется не отвечающим, связываясь с вашим процессомтолько через трубу?Если нет, то какой-нибудь глючный плагин найдет способ испортить ваш день, а это означает, что вы «полагались» на его правильность, независимо от того, намеревались вы это делать или нет.
Поймать исключения означает, что вы используете плагинв одной из тем вашего приложения.Итак, вы доверяете этому.Вы не можете «убедиться, что он не потерпит крах», если у него есть возможность сделать какую-то специфическую для ОС вещь, которая заставит ядро закрыть ваш процесс с предубеждением.
Все, что сказано - наЧто касается специфической проблемы перехвата исключений, абоненты должны перехватывать исключения тогда и только тогда, когда они могут сделать с ними что-то полезное.
Я бы поймал их, если плагин делает что-то несущественное (например, рендеринг одного компонента в сети)страницу), или отпустите их, если плагин делает что-то абсолютно важное для программы (например, если это кодек видео в программе транскодирования из командной строки, возможно, я бы поймал исключение и сбросил его после регистрации ошибки), обвиняя"ошибка в плагине. В противном случае я бы обработал его так же, как любую другую непредвиденную ошибку в программе).