1.抛出异常:throw 异常对象;

下面的代码是一个进制转换代码,可以转换为2进制和8进制,如果输入其他参数,则抛出异常。

1 public static String transform(int value,intradix){2 if(value <0)3 throw new IllegalArgumentException("需要转换的数字不是自然数!");4

5 if(radix != 2 || radix != 8)6 throw new IllegalArgumentException("进制参数非法!");7

8 StringBuffer sb = newStringBuffer();9 inttemp;10 if(value == 0)11 return "0";12

13 while(value != 0){14 temp = value%radix;15 sb.insert(0, temp);16 value /=radix;17 }18 returnsb.toString();19 }

2.声明异常:声明异常类似于声明药品的副作用,在声明函数的时候同时在函数后面声明该函数可能抛出的异常,这样调用这个函数的程序员就知道这个函数可能出现的异常,就可以提前对这些异常进行处理。上面的函数还可以声明为以下形式:

public static String transform(int value,int radix) throwsIllegalArgumentException{//......

}

3.捕获异常

try{//逻辑代码

}catch(异常类名 参数){//异常处理代码

}finally{//清理代码

}

上述try中的代码是正常执行的代码,如果在执行这段代码的过程中抛出了异常,则根据catch中的异常类名匹配到对应的异常处理代码,最后因为在try中遇到异常时就停止执行try中剩下的代码,而有时候需要做一些后续的清理工作,比如关闭文件,断开网络连接等,所以在finally里面处理这些问题。

String s = "123";try{int n =Integer.parseInt(s);char c = s.charAt(4);

}catch(NumberFormatException e){

System.out.println("该字符串无法转换!");

}catch(StringIndexOutOfBoundsException e){

System.out.println("字符串索引越界!");

}catch(Exception e){

System.out.println("其他异常!");

}

上述代码中Exception e这个异常包含了所有类型的异常,它是上述两个异常的父类,所以它要写在这两个异常的后面。

4.常用异常处理方法

不处理

直接处理:提醒用户输入错误,对值进行修改等

重新抛出:重新抛出一个自定义异常

在方法中声明:即在引起异常的这个方法声明时声明这个异常,使得调用这个方法的程序员去处理这个异常。一个例子如下:

public void test(String s)throwsNumberFormatException{int n =Integer.parseInt(s);

System.out.println(n);

}

上述test方法没有在方法内部处理异常,而是将异常交给调用test函数的程序去处理。

原文:http://www.cnblogs.com/sunshineatnoon/p/3819633.html

java编程那些事pdf下载_《Java编程那点事儿》读书笔记(六)相关推荐

  1. 数学与泛型编程:高效编程的奥秘pdf下载_【编程入门】提升孩子全脑思维、逻辑能力,帮你省下万元培训费...

    现在什么辅导班最火.最烧钱? 大概"少儿编程"当之无愧. 继"奥数"之后,少儿编程再次成为家长的纠结: 上还是不上? 不上真的会"输在起跑线上&quo ...

  2. 牛津英语字典pdf下载_牛津树1阶段精讲笔记分享

    写在前面:我不是英语专业,也不是英语老师,仅仅是自己在家和孩子一起精读牛津树的情况记录.免费分享出来,如果能帮到您,自然很开心. 前段时间想和孩子全英精讲牛津树,奈何没找到合适的,所以才开始自己写.当 ...

  3. java新手的通病_编程随想:Java新手的通病 PDF 下载

    编程随想:Java新手的通病 PDF 下载 下载地址: 提取码:onyi 相关截图: 主要内容: 其实很早以前就想写这样一个文章,可惜当时我没有 Blog,所以到现在才写下来.最近几年,随着 Java ...

  4. python编程案例教程答案-python编程案例教程pdf下载

    python编程案例教程pdf下载内容摘要 python编程案例教程pdf下载教程,巧妙的谋划,巧妙的计谋.娄底电脑教程,巧克力奶茶等都是理想的增肥品.巧克力麦片等等,南宁街舞教程,巧克力成为一种&q ...

  5. Java 并发编程的艺术 pdf 下载

    并发编程领域的扛鼎之作,作者是阿里和1号店的资深Java技术专家,对并发编程有非常深入的研究,<Java并发编程的艺术>是他们多年一线开发经验的结晶.本书的部分内容在出版早期发表在Java ...

  6. c语言线程面试题,java多线程面试题 PDF 下载

    主要内容: 基础知识 并发编程的优缺点 为什么要使用并发编程(并发编程的优点) 充分利用多核CPU的计算能力:通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升 方便进行业务拆分,提 ...

  7. java在linux生成pdf文件,从 Java 应用程序动态生成 PDF 文件

    简介: 如果您的应用程序需要动态生成 PDF 文档,那么您需要 iText 库.开源的 iText 库使得 PDF 的创建变得轻松易行.本文介绍了 iText 并提供了一个使用它从 Java 技术应用 ...

  8. 扇贝编程可以用c语言吗,扇贝编程手机版下载_扇贝编程app下载 v1.1.41 - 87G手游网...

    扇贝编程app是一款实用的编程学习软件,为不同基础的用户制定了不同阶段的学习方案,从入门到应用一应俱全,包括基础课.网络爬虫.数据分析等内容,就算是新手小白也能在扇贝编程很快学会.扇贝编程app拥有丰 ...

  9. python积木编程软件下载_积木编程软件-积木编程官方版下载-红软网

    积木编程安卓版下载,积木编程APP是一款在手机上学习更多的编程知识打造的便捷平台.在软件中也是拥有非常丰富的专业编程知识,我们能够学习到最基础的编程知识,每天计划一点学习的计划,为我们带来更多的编程知 ...

最新文章

  1. 磁珠与电感的区别,看了就灰常明白了
  2. 【Python学习笔记】异常处理try-except
  3. java的lookAndfeel_java-LookAndFeel行为之间的区别
  4. H5入门-xhtml+css2-第01节
  5. 推进五通一平:手淘技术三大容器 五大方案首次整体亮相 百川开放升级
  6. Fritzing添加新的元件库的方法
  7. python 生成 和 加载 requirements.txt
  8. oracle中数据导入导出问题
  9. Linux学习笔记007---Centos7中配置静态ip
  10. 坐异性朋友的车时,能坐在副驾驶吗?
  11. Android layout 设置圆角 内部 imageview 无效果
  12. fatal: unable to access ‘https://github.com/abseil/abseil-cpp.git/‘: Failed connect to github.com:44
  13. HDU 1058 Humble Numbers(DP,数)
  14. android软件安全权威指南 pdf_目录公众号内的所有资源软件!
  15. 广告终结者:使用AdBlock Plus屏蔽百度、CSDN广告
  16. 【脚本解析笔记】文件批量重命名
  17. 格林威治标准时间和协调世界时
  18. Linux九阴真经之大伏魔拳残卷4 nginx(模型,安装配置,模块)
  19. 湖南省第八届大学生计算机程序设计竞赛获奖名单
  20. linux redis 高级命令,Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存...

热门文章

  1. PHP如何设置页码间距,PHP如何实现对work文档操作,返回文档的总页码数量
  2. linux 服务器 安装网卡驱动,linux下安装编译网卡驱动的方法
  3. gateway 内存溢出问题_带你学习jvm java虚拟机 arthas/性能调优/故障排除/gc回收/内存溢出等...
  4. SVN 服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKCOL” 的请求
  5. 帝国cms7.5多终端刷新单条内容信息时不起作用的解决方法
  6. pytorch 卷积分组
  7. cmake find_package opencv 找不到
  8. linux环境下 PYTHONPATH添加
  9. 用于阴影检测的 DSC 特征
  10. win10 CUDA9.0安装失败