В идеале я не хочу, чтобы генерация изображений зависала... но в то же время я не хочу создавать неуклюжий хак, чтобы игнорировать деление на нули, что позже вызовет проблемы.
(Я предполагаю, что вы имеете в виду, что фрагмент кода является примером некоторого пользовательского кода...)
Ясно, что если пользовательский код может генерировать исключения, вы не можете остановить это. (А совет проверять перед делением явно неактуален... к вам.)
Итак, что можно сделать, кроме "краха"? Создать пустой образ? Игнорировать функцию пользователя? Вы будете производить мусор ... и это не то, что нужно пользователю.
Вы, конечно, не можете добраться и исправить его / ее код Java. (И если этот фрагмент должен быть кодом, написанным на каком-то специальном языке, то вы не сможете его исправить. Вы/ваша библиотека не знаете, что должен предоставленный пользователем код. делать...)
Нет. Я считаю, что лучший ответ состоит в том, чтобы обернуть любые неожиданные (непроверенные) исключения, исходящие из кода, предоставленного пользователем, в ваше собственное исключение, которое ясно сообщает пользователю, что ошибка произошла в его коде. . Затем код приложения, вызывающий код вашей библиотеки, решает, обрабатывать ли исключение или «сбой».
Если вы просите пользователей о «хорошем, надежном, систематическом подходе» к написанию своих функций, я думаю, вы ошибаетесь. И это не совсем ваша забота...
person
Stephen C
schedule
23.05.2012