Деление на ноль

Преподаватель по вышмату всегда любил шутить : "Делить на ноль - это как секс. В школе нельзя, но после нее можно."
И поселил надежду в студентах физмата третьего курса.

Вы смотрите срез комментариев. Показать все
28
Автор поста оценил этот комментарий

И поселил надежду в студентах физмата третьего курса.

Ага, а потом ты делишь на 0, и получаешь ArithmeticException

раскрыть ветку (10)
23
Автор поста оценил этот комментарий
DivideByZeroException
раскрыть ветку (9)
6
Автор поста оценил этот комментарий

Исключение можно поймать и обработать.

Девушка отказала в сексе, а у тебя уже есть заранее подготовленный ответ:

— Я малолеток не ебу

раскрыть ветку (8)
DELETED
Автор поста оценил этот комментарий
Исключение можно поймать и обработать

Не всегда

раскрыть ветку (7)
1
Автор поста оценил этот комментарий

Почему не всегда? Я хоть и программист, но достаточно тупой, честно не знал что с этим могут быть проблемы. Можете ссылку кинуть почитать?

раскрыть ветку (6)
DELETED
Автор поста оценил этот комментарий

Могу, но врядли это вам пригодиться)

Кратко - есть CRM, salesforce.

В её составе, кроме прочего, есть язык  программирования сервер-сайда, Apex (по сути, это древняя версия java с некоторыми специфичными плюшками). В этом языке есть список runtime-исключений, которые никак не отловить: превышение лимита запросов на транзакцию, превышение хип-сайза в контроллерах, неправильное состояние (точнее порядок) запросов и http-каллаутов и т.д.

раскрыть ветку (4)
Автор поста оценил этот комментарий

А что если ебнуть какой-то декоратор, в котором мы сами проверяем хип-сайз и всё что нужно, если что-то не так – вручную выбрасываем исключение. Оборачиваем в этот декоратор всё, что нужно и ловим уже наше кастомное исключение. Никогда так не делал, но задумка мне нравится. Возможно потому что я тупой

раскрыть ветку (3)
DELETED
Автор поста оценил этот комментарий

Признаюсь, про этот паттерн ничего не знаю, но думаю именно в случае с Apex не прокатит. Только если какими-то адскими костылями с ассинхронными методами (у них лимиты выше) и риском выпадения по cpu-time (на него тоже есть лимиты).

Когда у меня был тикет с выпадением по хипсайзу, единственное решение которое придумал/помогло - разбить весь обрабатываемый датасет на чанки, и подгружать данные в цикле по очереди на страницу. Решение не очень, но пока работает:)

раскрыть ветку (2)
Автор поста оценил этот комментарий

Тоже в чанках не шарю, но если я правильно понял, то похоже что вы изобрели пагинацию)

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Если грубо, то да - похоже)

Автор поста оценил этот комментарий
OutOfMemory например. Это те исключения, которые вызваны ошибками в логике программы и инициируются они извне. Отлавливать их неправильно, нужно смотреть, что в твоём коде приводит к утечкам памяти.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку