Java程序设计进阶之路三:异常

一、读取文件的步骤:

读取文件操作的每一步都依赖上一步的实现

二、代码分析

1、传统型错误码反馈机制

class errorCodeTypeFile{
			int errorCode = 0;

			if(theFileOpened) {
				determine its size;
				if(gotTheFileLength ){
					allocate that much memory;
					if(gotEnoughMemory){
						read the file into the memory;
						if(readFailed){
							errorCode = -1;
						}
					}
					else {
						errorCode = -2;
					}
				}
				else {
					errorCode = -3;
				}

				close the file;
				if(theFileDidn‘tClose && errorCode == 0){
						errorCode = -4;
			    }
			    else {
			    	errorCode = errorCode and -4;
			    }
		     }
	         else {
		          errorCode = -5;
	         }
	return errorCode;

}

通过反馈的错误码,我们可以了解到哪一步发生错误,但是该种代码可读性差,难以修改,逻辑不清晰。

2、添加异常捕捉机制后的代码

       try {
		open the file;
		determine its size;
		allocate that much memory;
		read the file into the memory;
		close the file;
	} catch (fileOpenFailed ){
		do something;
	} catch (sizeDeterminedFaile){
		do something;
	} catch (memeoryAllocationFailed){
		do something;
	} catch (readFailed){
		do something;
	} catch (fileClosedFailed){
		do something;
	}

代码添加异常捕捉机制后,通过catch后的语句可以了解到异常种类,而且该代码具有可读性高,逻辑分明,通常把try后语句称为业务逻辑代码,catch后语句称为异常处理代码。

三、今日总结

时间: 2024-12-05 02:26:37

Java程序设计进阶之路三:异常的相关文章

Java程序设计进阶之路四:抛出异常

一.异常声明 二.代码示例 1.示例一 class OpenException extends Throwable { } public class ReadFile{ public static int open() { return -1; } public static void readFile() throws OpenException { if(open() == -1){ throw new OpenException(); } } public static void main

java web进阶篇(三) 表达式语言

表达式语言(Expression Language ,EL)是jsp2.0中新增的功能.可以避免出现许多的Scriptlet代码 格式: ${ 属性名称 },  使用表达式语言可以方便的访问对象中的属性,提交的参数或者进行各种数学运算,而且使用表达式语言最大的特点是如果输出的内容是null,则会自动使用空字符串("")表示. <%request.setAttribute("name", "info");%> <h1>${n

[.net 面向对象程序设计进阶] (4) 正则表达式 (三) 表达式助手

[.net 面向对象程序设计进阶] (2) 正则表达式(三) 表达式助手 上面两节对正则表达式的使用及.NET下使用正则表达式作了详细说明,本节主要搜集整理了常用的正则表达式提供参考. 此外为了使用方便,编写了一个<正则表达式助手>方便测试正则表达式. 1.正则表达式助手 1.1 软件概述 软件名称: <正则表达式助手> 版本: 1.0 最后更新日期: 2015/07/01 作者: YuBinfeng 运行环境: .NET Framework 4.6及以上(常用表达式功能,需要联网

Java开发进阶之路

背景一 我接触Java开发已经一年多了了. 从刚开始生涩地接触语法,惹得编译器报各种语法错误:到接触OOD的思想,封装.继承.多态,懵懵懂懂地听说着它们:再到学习Web开发,想着这些也许并不重要,实际用的无非是Dao.Service.Controller罢了:最后幡然醒悟:就这样,一年已逝. 人总是要有些奋斗的目标的,暂且以此篇作为我而后一年的开端,思索一下接下去的学习之路. 背景二 我一直在想到底怎么样才能把Java学好,到底要学些什么,从哪里开始学,又要学多深? 我曾想的是,先广而后深.于是

《JAVA程序设计》_第三周学习总结

20175217吴一凡 一.IDEA学生免费版申请后续 收到这个邮件,就说明你申请成功了,点这里进去就行了 点击接受 在下一个界面登录你之前注册的账号绑定许可证就行了,重新登录你的账号就有了一年的许可证 二.答疑中发现的问题 包含多个源文件的java程序必须在源文件所在目录中进行编译执行,否则会出现找不到类的问题,如下图: 三.第四章学习总结 1.编程语言的几个发展阶段--4.1知识 面向机器语言: 机器语言:针对不同机器编写诸如1010101这样的指令序列 汇编语言:用简单的记忆符号来代替二进

网易云课堂_C语言程序设计进阶_第三周:结构:结构、类型定义、联合

3.1 枚举 3.2 结构 3.3 类型定义 3.1 枚举 枚举是一种用户定义的数据类型,它用关键字enum以如下语法来表明: enum 枚举类型名字{名字0,...,名字n}; 枚举类型名字通常并不真的使用,要用的是在大括号里的名字,因为它们就是常量符号,它们的类型是int,值则依次从0到n.如: enum colors{red, yellow, green}; 就创建了三个常量,red的值是0,yellow的值是1,而green的值是2 当需要一些可以排列起来的常量值时,定义枚举的意义就是给

Java架构师之路:从Java码农到年薪八十万的架构师,最牛Java架构师进阶路线

从Java码农到年薪八十万的架构师,资深架构师大牛给予Java技术提升学习路线建议,如何成为一名资深Java架构师? 对于工作多年的程序员而言,日后的职业发展无非是继续专精技术.转型管理和晋升架构师三种选择.架构师在一家公司有多重要.优秀架构师需要具备怎样的素质以及架构师的发展现状三个方面来分析 程序员如何才能晋升为优秀的高薪架构师? 希望通过本文让程序员们了解架构师的市场行情,了解架构师的发展前景,并帮助你更清晰地做出职业规划. 架构师在一家公司有多重要 架构师在公司中担当着「IT架构灵魂人物

JAVA进阶之路(一)

初学的大三奋斗者,fighting!!! 下面是进阶之路 Java平台和语言最开始只是SUN公司在1990年12月开始研究的一个内部项目.SUN公司的一个叫做帕特里克·诺顿的工程师被自己开发的C和C语言编译器搞得焦头烂额,因为其中的API极其难用.帕特里克决定改用NeXT,同时他也获得了研究公司的一个叫做“Stealth 计划”的项目的机会. “Stealth 计划”后来改名为“Green计划”,JGosling(詹姆斯·高斯林) 和麦克·舍林丹也加入了帕特里克的工作小组.他们和其他几个工程师一

Java进阶之路

Java进阶之路--从初级程序员到架构师,从小工到专家. 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题.希望这篇文章会是你看到过的最全面最权威的回答. 一: 编程基础 不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的数据结构和算法基础还是要有的.下面几篇文章从思想到实现,为你梳理出常用的数据结构和经典算法. 1-1 常