
摘要:《Java程序员面试指南》第7章异常处理及内存管理,本章讲述的是要想成功地成为一名合格的Java程序员,掌握好异常处理机制是编写大型程序必不可少的基本功。本节为大家介绍异常的处理方式之三:throw。
标签:throw Java 程序员 Java程序员面试指南
Oracle帮您准确洞察各个物流环节
74 异常的处理方式之三:throw(1)
异常的抛出,就是将异常抛给异常处理器,暂时不去处理它。本节主要讲解用throw抛出异常的方式,以及如何由try-catch来接收所抛出的异常。
当一个方法发生异常时可以通过throw关键字来抛出异常,把异常抛给它上一级的调用者,抛出的可以是异常引用,也可以是异常对象,它的语法格式如下:
throw 异常对象名; 或者
throw new 异常类名(); 一条throw语句一旦被执行,程序立即转入相应的异常处理程序段,它后面的语句就不再执行了(这一点类似于return语句),而且它所在的方法也不再返回有意义的值。在一个方法中,throw语句可以有多条,但每一次最多只能执行其中的一条。在一般情况下,throw语句都会写在判断语句块中,以避免每次都执行该语句。
代码剖析下面来看一个例子,也许从中你会明白点什么。具体代码如下:
public class catchThows { static int x; public static void main(String argv[]) { double a = Mathrandom() 10; if (x > 0) Systemoutprintln(a / x); else throw new Exception(); // 抛出异常 } public void setX(int x) { thisx = x; } } 运行结果如图71所示。
(大图)图71 运行结果
从上面的运行结果中可以看出,一个方法中如果使用throw来抛出异常,要么自己捕获它,要么声明抛出了一个异常。要声明抛出了异常,需要用throws关键字在方法的头部声明。如果我们将上面的代码修改成下面的代码,那么结果又会怎样呢?
public class catchThows_1 { static int x; public static void main(String argv[]) { new catchThows()setX(0); double a = Mathrandom() 10; if (x > 0) Systemoutprintln(a / x); else try { throw new Exception();// 抛出异常 } catch (Exception e) { Systemoutprintln("出现异常的原因是:"+egetMessage()); } } public void setX(int x) { thisx = x; } } 运行结果如下:
出现异常的原因是:null 还有一种抛出异常的方法是让被调用的方法表示它将不处理异常,该异常将被抛出到它的调用方法中。这点是和throws声明异常很相似的,但它们的位置是完全不同的。具体代码如下:
public class catchThows_2 { void findThows() { try { //抛出方法 throw new ArithmeticException(); } catch(ArithmeticException ae) { throw ae; } } public static void main(String args[]) { catchThows ct=new catchThows(); //对方法进行异常处理 try { ctfindThows(); } catch(ArithmeticException ae) { Systemoutprintln("出现异常的原因是:"+ae); } } } 运行结果如下:
出现异常的原因是:javalangArithmeticException
责任编辑:云霞 TEL:(010)68476606
回书目 上一节 下一节
上一篇: 73 异常的处理方式之二:throws(2) 下一篇: 74 异常的处理方式之三:throw(2)
相关文章
·75 内存的管理(2)
·74 异常的处理方式之三:throw(2)
·173 Java高级编程试题(1)
·171 Java基础编程试题(6)
·171 Java基础编程试题(5)
频道热门
·自己动手写搜索引擎
·112 编写代码(15分钟)
·111 准备工作环境(10分钟)
·软件调试的艺术
·WCF编程(第2版)
面试 一般会叫你填两个表 1个是你的详细信息表 1个是面试题答卷
两个都要注意反正面是否都有内容不要遗漏,如果考你机试一般也有两种,就是程序连接数据库或一些基本的算法(二分查找,递归等),公司一般都是测试你的基本功是否扎实,如果你基本功好就游刃有余不必紧张!
aspnet面试题
1new有几种用法
第一种:new Class();
第二种:覆盖方法
public new XXXX(){}
第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。
2如何把一个array复制到arrayList里
foreach( object o in array )arrayListAdd(o);
3datagriddatasouse可以连接什么数据源 [dataset,datatable,dataview]
dataset,datatable,dataview , IList
4概述反射和序列化
反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性
序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 >
3、 采用自顶向下的方法,根据程序模块的功能将程序分成若干个子模块
5、 while ( )
{ …… }
6、 /中间为注释 / 作用:是程序结构清晰明了,便于程序员看懂程序,但其对编译及运行不起作用
7、都是两个
8、getchar();
9、printf ("%ld",ln);
10、 *** 作步骤
11、初始值、循环条件和循环体
12、关键字
13、常量,变量
14、#define EMI 6688
15、变量
16、 六位
17、d
18、b
19、b
20、d
21、a
22、b
23、c
24、c
目的
说明编写这份数据库设计说明书的目的,指出预期的读者。
1.2背景
说明:
a.说明待开发的数据库的名称和使用此数据库的软件系统的名称;
b.列出该软件系统开发项目的任务提出者、用户以及将安装该软件和这个数据库的计算站(中心)。
1.3定义
列出本文件中用到的专门术语的定义、外文首字母组词的原词组。
1.4参考资料
列出有关的
参考资料:
a.本项目的经核准的计划任务书或合同、上级机关批文;
b.属于本项目的其他已发表的文件;
c.本文件中各处引用到的文件资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。
2外部设计
2.1标识符和状态
联系用途,详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。如果该数据库属于尚在实验中、尚在测试中或是暂时使用的,则要说明这一特点及其有效时间范围。
2.2使用它的程序
列出将要使用或访问此数据库的所有应用程序,对于这些应用程序的每一个,给出它的名称和版本号。
2.3约定
陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定和用于标识库内各个文卷、、记录、数据项的命名约定等。
2.4专门指导
向准备从事此数据库的生成、从事此数据库的测试、维护人员提供专门的指导,例如将被送入数据库的数据的格式和标准、送入数据库的 *** 作规程和步骤,用于产生、修改、更新或使用这些数据文卷的 *** 作指导。如果这些指导的内容篇幅很长,列出可参阅的文件资料的名称和章条。
2.5支持软件
简单介绍同此数据库直接有关的支持软件,如数据库管理系统、存储定位程序和用于装入、生成、修改、更新数据库的程序等。说明这些软件的名称、版本号和主要功能特性,如所用数据模型的类型、允许的数据容量等。列出这些支持软件的技术文件的标题、编号及来源。
3结构设计
3.1概念结构设计
说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,建立本数据库的每一幅用户视图。
3.2逻辑结构设计
说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构和文卷结构、所建立的各个文卷之间的相互关系,形成本数据库的数据库管理员视图。
3.3物理结构设计
建立系统程序员视图,包括:
a.数据在内存中的安排,包括对索引区、缓冲区的设计;
b.所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;
c.访问数据的方式方法。
4运用设计
4.1数据字典设计
对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷、模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。在本节中要说明对此数据字典设计的基本考虑。
4.2安全保密设计
说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑。
以上就是关于(特急)《Java程序设计》理论题库—判断题(要准确答案)全部的内容,包括:(特急)《Java程序设计》理论题库—判断题(要准确答案)、求网站编程面试试题两套,好的话追加分数!、急需C语言试题答案,上次已解决一些,但还有不少,麻烦各位高手帮忙给个最佳答案!万分感谢啊!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)