2019独角兽企业重金招聘Python工程师标准>>>

1、throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。如下面例子所示:
public class Shoot {   创建类
static void pop() throws NegativeArraySizeException {
//定义方法并抛出NegativeArraySizeException异常
int [] arr = new int[-3];//创建数组
}
public static void main(String[] args) {//主方法
try {
pop(); //调用pop()方法
} catch (NegativeArraySizeException e) {
System.out.println("pop()方法抛出的异常");//输出异常信息
}
}
}2、throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;如果要捕捉throw抛出的异常,则必须使用try—catch语句。举例如下:
class MyException extends Exception { //创建自定义异常类String message; //定义String类型变量public MyException(String ErrorMessagr) {  //父类方法message = ErrorMessagr;}public String getMessage(){   //覆盖getMessage()方法return message;}
}
public class Captor { //创建类
static int quotient(int x,int y) throws MyException{//定义方法抛出异常
if(y < 0){  //判断参数是否小于0throw new MyException("除数不能是负数");//异常信息}return x/y;//返回值}
public static void main(String args[]){ //主方法try{ //try语句包含可能发生异常的语句int result = quotient(3,-1);//调用方法quotient()}catch (MyException e) { //处理自定义异常System.out.println(e.getMessage()); //输出异常信息}catch (ArithmeticException e) {//处理ArithmeticException异常System.out.println("除数不能为0");//输出提示信息}catch (Exception e) { //处理其他异常System.out.println("程序发生了其他的异常");//输出提示信息}}
}

转载于:https://my.oschina.net/u/1409824/blog/288138

浅谈Java throw, throws, try catch异常处理相关推荐

  1. java的throw_浅谈Java的throw与throws

    浅谈Java异常 以前虽然知道一些异常的处理,也用过一些,但是对throw和throws区别还是有不太清楚.今天用实例测试一下 异常处理机制 异常处理是对可能出现的异常进行处理,以防止程序遇到异常时被 ...

  2. java手动回收_浅谈java是如何做资源回收补救的

    学习java的过程,我们经常谈论一个对象的回收,尤其是资源类型,如果没有显示的关闭,对象就被回收了,说明出现了资源泄漏.java本身为了防止这种情况,做了一些担保的方式,确保可以让未关闭的资源合理回收 ...

  3. 浅谈JAVA程序破解(原创)

    浅谈JAVA程序破解 作者:舵手 申明:如转载请保证文章的完整性以及出处 最近对JAVA程序的破解比较感兴趣,拿几个行业软件练了一下手,略有心得,拿出来与菜鸟分享!注意只是一点心得, 本文并不涉及具体 ...

  4. 浅谈JAVA程序破解

    浅谈JAVA程序破解 http://www.blogjava.net/galaxyp/archive/2006/04/19/41833.html 作者:舵手 申明:如转载请保证文章的完整性以及出处 最 ...

  5. 常在池边游,却不曾到池子里一探究竟?浅谈Java线程池

    浅谈Java线程池 线程池,简单来说,就是一个池子嘛,里面养着一群线程,ABCD........,然后你要用的时候,从里面拿一个去用,用完放回去. 一群人要用的时候,每个人都从池子里面拿一个线程,当池 ...

  6. 浅谈Java网络编程之Socket (2)

    <浅谈Java网络编程之Socket (1)>中我们已经和大家说到客户端的网络编程,下面和大家分享的是服务器的实现代码. import java.net.*; import java.io ...

  7. 浅谈JAVA中如何利用socket进行网络编程(二)

    转自:http://developer.51cto.com/art/201106/268386.htm Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以 ...

  8. java虚拟机类加载机制浅谈_浅谈Java虚拟机(三)之类加载机制

    在<浅谈Java虚拟机>这篇文章中,我们提到了JVM从操作系统方面来说,可以将其看做是一个进程,分别有类加载器子系统,执行引擎子系统和垃圾收集子系统.这一篇文章就简单的来谈一下类加载器子系 ...

  9. 浅谈Java多线程机制

    浅谈Java多线程机制 (-----文中重点信息将用红色字体凸显-----) 一.话题导入 在开始简述Java多线程机制之前,我不得不吐槽一下我国糟糕的IT界技术分享氛围和不给力的互联网技术解答深度. ...

最新文章

  1. 深度学习激活函数比较
  2. 企业架构 - 如何实施TOGAF
  3. IIS6注册.net4.0
  4. 快期末考试了好烦躁啊来写点东西
  5. ubuntu 14.04 LTS(64bit) Anacoda2环境下安装gensim
  6. 一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?
  7. 【Python3网络爬虫开发实战】1.6.1-Flask的安装
  8. carbon安装win7 thinkpad x1_联想ThinkPad X1 Carbon 2018笔记本win10怎么改win7
  9. 神经网络是怎样理解图片的?谷歌大脑研究员详解特征可视化
  10. python处理json数据(复杂的json转化成嵌套字典并处理)
  11. linux安装i3wm桌面环境,ArchLinux + i3wm 桌面 Windows10 双系统安装(重点记录)
  12. MacOS13系统升级动态壁纸无法安装解决方法
  13. 经典的战略管理和营销管理书《定位》
  14. html导航折叠与展开,html展开收起
  15. Maven历史版本下载
  16. 生活随记 - 尝试与师傅沟通争取自己的权益
  17. linux文本三剑客演讲稿,Linux文本三剑客总结
  18. Java企业微信号开发之微信网页授权和获取用户信息
  19. 云计算高级运维第一阶段项目实战:在局域网中使用 awl 伪装 MAC 地址进行多线程 SYN 洪水攻击
  20. 失业登记对养老保险是否有影响

热门文章

  1. 深度:语音技术革命正在改变人类的交流方式
  2. 石墨烯新新新应用,MIT大规模生产细胞大小机器人,有感知能存储
  3. 2017年中国人工智能产业专题研究报告(完整版)
  4. 末日来临,你的编程语言能干嘛? | 每日趣闻
  5. 远程办公在美国有多受欢迎?有人宁愿降薪 50% 也不愿再回办公室
  6. 或许不理解,但你一定说过的游戏黑话
  7. 在一家公司呆了 10 年的程序员,最后都怎么了?
  8. 厉害了!蚂蚁 mPaaS:有人修建高楼,有人重构城市
  9. Java算法练习——正则表达式匹配
  10. 后端服务性能压测实践