我是java的新手。我正在从sun网站上阅读java。它说,
当方法中发生错误时,该方法会创建一个对象并将其交给运行时系统。该对象称为异常对象,包含有关错误的信息,包括错误发生时的类型和程序状态。
我的问题是,
编辑: I didn't understand this term "When an error occurs within a method, method creates an object' ?"
感谢。
答案 0 :(得分:4)
throw new SomeException()
答案 1 :(得分:0)
基本上,你创建它。
throw new Exception(); // notice the new
与任何Java对象一样,它在JVM堆上分配。
答案 2 :(得分:0)
您的Java代码在虚拟机上运行;还有更多的事情发生在你正在写的代码上。 Java SDK会抛出异常。
异常处理是以这样一种方式完成的,即代码的线性执行被中断,异常流程也会被激活。异常流程基本上是被抛出的异常,直到一些构造“捕获”它。
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设置一些内存管理参数,但这些参数的性质通常不会反映在您的代码中。