究竟什么'抛出'意味着OOP

时间:2017-06-14 03:29:56

标签: oop

我是OOP的新手,我一直看到error is thrown.. runtime exception is thrown..

根据我的理解,如果某些条件成立,throw之后的任何内容都不会被执行。

但这样的句子是什么意思

an error is thrown when the program executes

2 个答案:

答案 0 :(得分:0)

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

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

因此,抛出这个术语意味着,系统刚刚完成了抛出异常的过程,现在它可以由我们编程的任何处理程序处理。

答案 1 :(得分:0)

来自 Matt Weisfeld - 高级面向对象的概念 http://www.informit.com/articles/article.aspx?p=2026020&seqNum=2

  

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

     
      
  1. 终止执行try块。
  2.   
  3. 捕获条款是   检查以确定是否有适当的catch块   包括违规例外。 (可能不止一个   每个试块都有一个catch子句。)
  4.   
  5. 如果没有catch子句处理   违规的异常,它被传递给下一个更高级别的尝试   块。 (如果代码中未捕获异常,则系统   最终抓住它,结果是不可预测的 - 也就是说   应用程序崩溃。)
  6.   
  7. 如果匹配一个catch子句(第一个匹配   遇到),执行catch子句中的语句。
  8.   
  9. 执行然后继续执行try块之后的语句。
  10.