Java的throws子句的外观和位置(在程序中)与C++的throw子句类似。但throws子句的语义与C++的throw子句完全不同。
  如果在Java方法的throws子句出现了异常的类名。则说明那个异常类或任何它的派生异常类可以由这个方法抛出。例如,当一个方法指定它能够抛出IOException时,这意味着它能够抛出IOException对象或者它的任何派生类的对象,如EOFException。
  异常类Error和RuntimeException以及它们的派生类称为非检测异常。所有其他异常称为可检测异常。编译器从来不关心非检测异常。然而,编译器确保所有能够由方法抛出的可检测异常在它的throws子句中列出或者在方法中处理。异常类Error和RuntimeException以及它们的派生类之所以是非检测异常,是因为任何方法能够将它们抛出。
  方法为其文档系统内部的throws子句中不能声明比它重写的方法更多的异常,只能声明更少的异常。所以,如果方法没有throws子句,则重写它的任何方法都不能由throws子句。方法可以将任何在它的throws子句中列出的异常连同这些异常的派生类一起抛出。如果一个方法没有直接抛出一个特殊的异常,但调用了另一个抛出该异常的方法,那么这个异常必须在throws子句中列出。这是使用readLine方法的builDist方法必须在方法头的throws子句中指定IOException的原因。
  如果一个方法调用了另一个方法,并且这个被调用的方法在文档系统内部的throws子句中列出了一个特殊的可检测异常,那么处理该异常有3中可选方案。第一种方案,方法可以捕获异常并处理它。第二种方案,方法能够捕获异常,并抛出在自己的throws子句中列出的异常。第三种方案,方法可在自己的文档系统内部的throws子句中声明异常,但不处理异常。如果存在一个外围的try子句,那么可以将异常传播发哦这个外围的try子句;如果不存在外围的try子句,那么可以将异常传播到方法的调用者。
  Java没有默认的异常处理程序,且不能禁用异常。

关于TeamDoc软件:

TeamDoc是基于服务器/客户端架构的轻量级文件管理软件。TeamDoc将文件集中加密存储在您单位自己的服务器中,员工使用TeamDoc客户端访问服务器,从而获得与自己权限相关的权限:登入后与“我的电脑”界面类似,可以看到自己该看的文件,编辑自己能编辑的文档,对于能看到的文件,还可以细分文档权限,进而做到能看不能拷,能看不能截屏等功能,多种权限灵活设置,在线协同编辑、全文搜索、日志与版本追踪,快速构建企业文档库。告别假大空,我们提供值得您选择的、易用的、可用的文档管理软件。现在就访问TeamDoc首页

TeamDoc软件界面(点击可放大)

版权所有:南京网亚计算机有限公司,本文链接地址: 文档系统内部的Throws子句