2017-06-14 56 views
0

方面我是新来OOP,我总是看到error is thrown..runtime exception is thrown..究竟是“抛出”意味着OOP

从我的理解,如果某些条件为真不执行throw后什么。

但什么是像这样的句子意味着

an error is thrown when the program executes

+0

你有代码和平来展示一个例子吗?你在谈论豁免吗? –

回答

0

当一个方法中出现错误,该方法将创建一个对象并把它关到运行系统。该对象称为异常对象,包含有关错误的信息,包括错误发生时的类型和程序的状态。创建一个异常对象并将其交给运行时系统称为抛出异常。

抛出异常后,可以由适当的处理程序处理。如果抛出的异常对象的类型与处理程序可以处理的类型相匹配,则认为异常处理程序是合适的。

所以术语抛出意味着,系统刚刚完成抛出异常的过程,现在它可以由我们所执行的任何处理程序来处理。

0

马特Weisfeld - 先进的面向对象的概念 http://www.informit.com/articles/article.aspx?p=2026020&seqNum=2

如果异常try块中抛出,catch块将会处理它。当执行块时抛出异常时,会发生以下情况:

  1. try块的执行被终止。
  2. 检查catch子句为 以确定是否包含 违规异常的适当catch块。 (可能有多个 catch语句每个try语句块。)
  3. 如果没有任何catch子句处理 违规异常,则将其传递给下一个更高级别的try 块。 (如果未在代码中捕获异常,则系统最终会捕获该异常,并且结果是不可预知的 - 即 应用程序崩溃。)
  4. 如果catch子句匹配(遇到第一个匹配 ), catch子句中的语句被执行。
  5. 然后使用try块后面的语句继续执行。
相关问题