Исключения (Exceptions): Позволяют остановить выполнение кода при возникновении ошибки и передать управление блокам begin/rescue/ensure.
ruby
Raise: Явное возбуждение исключения, как для стандартных, так и для пользовательских классов ошибок.
ruby
exit, abort, Kernel#exit!: Методы для завершения выполнения программы. exit! завершает программу немедленно, без вызова обработчиков at_exit.
ruby
Thread#raise: Позволяет возбудить исключение в другом потоке выполнения.
ruby
Программные ошибки (логические, синтаксические): Неправильно написанный код может привести к сбоям выполнения.
ruby
Сигналы операционной системы (SIGTERM, SIGINT и др.): Могут прервать выполнение программы извне.
ruby
Assertions (особенно при разработке и тестировании): Механизмы проверки условий, при нарушении которых выбрасывается исключение или выполняется другое действие. В Ruby часто реализуются с помощью библиотек для тестирования.
ruby