Ваш Java-код работает на виртуальной машине;происходит нечто большее, чем просто код, который вы пишете.Java SDK генерирует исключения.
Обработка исключений выполняется таким образом, что линейное выполнение кода прерывается, и вместо этого запускается поток исключений. Поток исключений в основном является исключением, «генерируемым» до некоторой конструкции ».перехватывает 'it.
try {
... some code is executed
... some code throws exception (throw new Exception())
... some more code is never executed
} catch(Exception e) { // CATCHES
// code executed in case exception is caught
} finally {
// code that runs regardless of above exceptions
}
Если перехват не имеет смысла в какой-то локальной области, методы могут распространять исключения как это:
public void doSomeWork(..) throws Exception {
}
, и исключение может быть перехвачено в другом месте, то есть вышев логике.Исключениями также являются обычные объекты, и подклассы (более мелкие детали) могут быть обнаружены перед суперклассами и т. Д.
В традиционном смысле в Java нет стека и кучи, так что пока не беспокойтесь об этом - позже выможет установить некоторые параметры управления памятью для JVM в целом, но их природа обычно не отражается в вашем коде.