如果一个方法可以导致一个异常但不处理它,它必须指定这种行为以使方法的调用者可以保护它们自己而不发生异常。做到这点你可以在方法声明中包含一个throws子句。一个 throws 子句列举了一个方法可能引发的所有异常类型。

这对于除 Error 或RuntimeException及它们子类以外类型的所有异常是必要的。一个方法可以引发的所有其他类型的异常必须在throws子句中声明。如果不这样做,将会导致编译错误。

下面是包含一个throws子句的方法声明的通用形式:

type method-name(parameter-list) throws exception-list
{ // body of method
}

这里,exception-list是该方法可以引发的以有逗号分割的异常列表。

下面是一个不正确的例子。该例试图引发一个它不能捕获的异常。因为程序没有指定一个throws子句来声明这一事实,程序将不会编译。

// This program contains an error and will not compile.
class ThrowsDemo { static void throwOne() { System.out.println("Inside throwOne."); throw new IllegalAccessException("demo"); } public static void main(String args[]) { throwOne(); }
}

为编译该程序,需要改变两个地方。第一,需要声明throwOne( )引发IllegalAccess Exception异常。第二,main( )必须定义一个try/catch 语句来捕获该异常。

正确的例子如下:

// This is now correct.
class ThrowsDemo { static void throwOne() throws IllegalAccessException { System.out.println("Inside throwOne."); throw new IllegalAccessException("demo"); } public static void main(String args[]) { try { throwOne(); } catch (IllegalAccessException e) { System.out.println("Caught " + e); } }
}

下面是例题的输出结果:

inside throwOne
caught java.lang.IllegalAccessException: demo

开课吧课堂之throws如何去使用?相关推荐

  1. 计算机公开课课前互动小游戏,公开课前课堂小游戏

    引导语:一年级拼音教学小游戏玩是孩子的天性,游戏自然就会成为一年级拼音教学的常客!下面是yjbys小编收集了一些关于公开课前拼音课堂小游戏,希望对你有帮助. 篇一:公开课前课堂小游戏 适用范围: 用于 ...

  2. 烤仔DeFi课堂 | 从雅典到去中心化金融

    好久不见-烤仔的 DeFi 课堂上课铃再次打响,这系列我们将一同解构 DeFi,尝试从更多的角度还原它真实的面貌. 01 从雅典到去中心化金融 古希腊文明璀璨夺目,雅典稳定的纺锤形社会开启了人类社会的 ...

  3. java动脑公开课_java课堂动手动脑

    实验任务一:阅读并运行示例PassArray.java. 1)源代码: package demo; //PassArray.java //Passing arrays and individual a ...

  4. 开课吧课堂:C++基本数据类型详解

    一般来说在学习C++开发技术的时候,C++数据类型是必然需要了解和学习的,同时也是一名C++开发工程师所需要深入了解的.接下来小编带你一起了解下C++基本数据类型: C++基本数据类型详解 说明符(s ...

  5. 开课吧课堂:C++开发语言的应用方向有哪些?

    目前主流的后端开发语言有很多,而比较热门的当属C++.Java以及Python等.为了能够成为一名合格的C++开发工程师,需要明白C++开发语言的应用方向有哪些. C++开发语言的应用方向有哪些? 客 ...

  6. 开课吧课堂之如何创建自己的异常子类

    尽管Java的内置异常处理大多数常见错误,你也许希望建立你自己的异常类型来处理你所应用的特殊情况.这是非常简单的:只要定义Exception的一个子类就可以了(Exception当然是Throwabl ...

  7. 开课吧课堂:Java的内置异常汇总列表!

    在标准包java.lang中,Java定义了若干个异常类.前面的例子曾用到其中一些.这些异常一般是标准类RuntimeException的子类.因为java.lang实际上被所有的Java程序引入,多 ...

  8. 开课吧课堂:Kubernetes集群环境常见问题解决

    本文主要分享了k8s集群环境下,镜像不能自动拉取.容器执行错误.镜像导入导出.集群崩溃常见问题解决. 1.Kubernetes集群环境下各个node镜像不能自动拉取 一般情况下遇到这种情况下,比较笨的 ...

  9. 开课吧课堂:数据可视化的制作方法与准则有哪些?

    作为数据分析师,既需要能够做好数据分析工作,同时还需要做好数据可视化,为了能够做好数据可视化工作,需要了解清楚数据可视化的制作方法与准则有哪些. 深入了解数据可视化工具有哪些? 数据可视化的制作方法 ...

最新文章

  1. java轴_JAVA2D:翻译轴
  2. centos6.5下使用yum完美搭建LNMP环境(php5.6)
  3. ubuntu 14.04下 horizon openstack_dashboard 的开发环境搭建
  4. 中国蚁剑 代码解压出错:【object Object】解决方法
  5. 用计算机表白的数字,用数字表白的句子大全 如何用数字表白一段话
  6. Ivanti罗琦:IT服务管理中“拧紧螺丝”要有门道儿!
  7. Win10乱码了怎么解决 Win10系统乱码解决办法
  8. 李德玉(1965-),男,博士,山西大学计算机与信息技术学院教授
  9. [渝粤教育] 西南科技大学 公共关系学 在线考试复习资料
  10. PostgreSQL学习手册(三) 表的继承和分区
  11. 【06月03日】预分红股息率最高排名
  12. 【产业互联网周报】高盛上调阿里云估值至1238亿美元;腾讯云入选Gartner全球云计算IaaS和PaaS魔力象限...
  13. Laravel执行定时任务
  14. 比 Excel 更强大,Python 的可视化库 Altair 入门
  15. project2016设置项目更新与监控方法
  16. java判断excel格式_Java 设置Excel数据验证
  17. 如何获取layui表格选中行的数据
  18. Jupyter制作slides(幻灯片)
  19. [UNR #5]获奖名单
  20. 南阳市新野县计算机技术学校,新野县中等职业学校学校概况

热门文章

  1. [转载] Java static关键字详解
  2. shiro 基于springmvc中做登陆功能
  3. OO Summary (Homework 5-7)
  4. android scrollview listview显示不全
  5. linux shell 递归统计代码行数
  6. windows下如何使用QT编写dll程序 .
  7. windows Server 2008+iis 7.5 部署应用程序
  8. 硕博经验——科研论文阅读与写作实战技巧
  9. 麦马计算机专业对化学的要求,2018麦克马斯特大学最新入学要求+热门专业全解析...
  10. java调用js模板引擎_JavaScript模板引擎应用场景及实现原理详解