java编程那些事pdf下载_《Java编程那点事儿》读书笔记(六)
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编程那点事儿》读书笔记(六)相关推荐
- 数学与泛型编程:高效编程的奥秘pdf下载_【编程入门】提升孩子全脑思维、逻辑能力,帮你省下万元培训费...
现在什么辅导班最火.最烧钱? 大概"少儿编程"当之无愧. 继"奥数"之后,少儿编程再次成为家长的纠结: 上还是不上? 不上真的会"输在起跑线上&quo ...
- 牛津英语字典pdf下载_牛津树1阶段精讲笔记分享
写在前面:我不是英语专业,也不是英语老师,仅仅是自己在家和孩子一起精读牛津树的情况记录.免费分享出来,如果能帮到您,自然很开心. 前段时间想和孩子全英精讲牛津树,奈何没找到合适的,所以才开始自己写.当 ...
- java新手的通病_编程随想:Java新手的通病 PDF 下载
编程随想:Java新手的通病 PDF 下载 下载地址: 提取码:onyi 相关截图: 主要内容: 其实很早以前就想写这样一个文章,可惜当时我没有 Blog,所以到现在才写下来.最近几年,随着 Java ...
- python编程案例教程答案-python编程案例教程pdf下载
python编程案例教程pdf下载内容摘要 python编程案例教程pdf下载教程,巧妙的谋划,巧妙的计谋.娄底电脑教程,巧克力奶茶等都是理想的增肥品.巧克力麦片等等,南宁街舞教程,巧克力成为一种&q ...
- Java 并发编程的艺术 pdf 下载
并发编程领域的扛鼎之作,作者是阿里和1号店的资深Java技术专家,对并发编程有非常深入的研究,<Java并发编程的艺术>是他们多年一线开发经验的结晶.本书的部分内容在出版早期发表在Java ...
- c语言线程面试题,java多线程面试题 PDF 下载
主要内容: 基础知识 并发编程的优缺点 为什么要使用并发编程(并发编程的优点) 充分利用多核CPU的计算能力:通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升 方便进行业务拆分,提 ...
- java在linux生成pdf文件,从 Java 应用程序动态生成 PDF 文件
简介: 如果您的应用程序需要动态生成 PDF 文档,那么您需要 iText 库.开源的 iText 库使得 PDF 的创建变得轻松易行.本文介绍了 iText 并提供了一个使用它从 Java 技术应用 ...
- 扇贝编程可以用c语言吗,扇贝编程手机版下载_扇贝编程app下载 v1.1.41 - 87G手游网...
扇贝编程app是一款实用的编程学习软件,为不同基础的用户制定了不同阶段的学习方案,从入门到应用一应俱全,包括基础课.网络爬虫.数据分析等内容,就算是新手小白也能在扇贝编程很快学会.扇贝编程app拥有丰 ...
- python积木编程软件下载_积木编程软件-积木编程官方版下载-红软网
积木编程安卓版下载,积木编程APP是一款在手机上学习更多的编程知识打造的便捷平台.在软件中也是拥有非常丰富的专业编程知识,我们能够学习到最基础的编程知识,每天计划一点学习的计划,为我们带来更多的编程知 ...
最新文章
- 磁珠与电感的区别,看了就灰常明白了
- 【Python学习笔记】异常处理try-except
- java的lookAndfeel_java-LookAndFeel行为之间的区别
- H5入门-xhtml+css2-第01节
- 推进五通一平:手淘技术三大容器 五大方案首次整体亮相 百川开放升级
- Fritzing添加新的元件库的方法
- python 生成 和 加载 requirements.txt
- oracle中数据导入导出问题
- Linux学习笔记007---Centos7中配置静态ip
- 坐异性朋友的车时,能坐在副驾驶吗?
- Android layout 设置圆角 内部 imageview 无效果
- fatal: unable to access ‘https://github.com/abseil/abseil-cpp.git/‘: Failed connect to github.com:44
- HDU 1058 Humble Numbers(DP,数)
- android软件安全权威指南 pdf_目录公众号内的所有资源软件!
- 广告终结者:使用AdBlock Plus屏蔽百度、CSDN广告
- 【脚本解析笔记】文件批量重命名
- 格林威治标准时间和协调世界时
- Linux九阴真经之大伏魔拳残卷4 nginx(模型,安装配置,模块)
- 湖南省第八届大学生计算机程序设计竞赛获奖名单
- linux redis 高级命令,Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存...
热门文章
- PHP如何设置页码间距,PHP如何实现对work文档操作,返回文档的总页码数量
- linux 服务器 安装网卡驱动,linux下安装编译网卡驱动的方法
- gateway 内存溢出问题_带你学习jvm java虚拟机 arthas/性能调优/故障排除/gc回收/内存溢出等...
- SVN 服务器发送了意外的返回值(405 Method Not Allowed),在响应 “MKCOL” 的请求
- 帝国cms7.5多终端刷新单条内容信息时不起作用的解决方法
- pytorch 卷积分组
- cmake find_package opencv 找不到
- linux环境下 PYTHONPATH添加
- 用于阴影检测的 DSC 特征
- win10 CUDA9.0安装失败