程序员修炼之道--程序设计入门30讲

程序员修炼之道--程序设计入门30讲
作者: 编者:吕云翔//傅义
出版社: 清华大学
原售价: 39.50
折扣价: 28.10
折扣购买: 程序员修炼之道--程序设计入门30讲
ISBN: 9787302499282

作者简介

吕云翔:1986-1992: 北方交通大学讲师; 1992-1994: 比利时VUB大学应用信息技术硕士; 1994-1996: 比利时VUB大学MBA; 1996-2003: IT公司项目经理 2003-至今: 北航软件学院副教授。

内容简介

五、认识程序 21.J**a中的异常处理机制有什么优点? 22.throws还是try…catch?异常处理原则 23.什么是输入输出流?装饰器模式的应用 24.为什么需要多线程编程? 25.修改同时发生该听谁的?锁 26.编译、链接、运行,程序是怎样跑起来的? 27.为什么我写的都是小黑框程序?图形界面是怎样写出来的? 28.什么是回调函数? 21. J**a中的异常处理机制有什么优点?   学习J**a编程,就不得不学习J**a中的异常处理机制,因为异常处理是J**a中**的错误报告机制,且编译器会强制执行该机制。读者也许已经了解了异常处理的基本概念,但是J**a中的异常处理机制相比C中的异常处理有什么优点呢?在本节,我们将首先学习J**a中异常处理的基本语法与异常体系结构,并将理解J**a中的异常处理有什么优点。 J**a异常的定义   J**a中的异常是指当程序运行过程中出现了错误,程序会通过new在堆上创建异常对象,当前的程序执行路径会提前终止,并且从当前环境中弹出对异常对象的引用。例如我们在使用J**a的IO*作打开一个文件时,若程序依据**路径找不到文件(即文件不存在),程序就会停止继续执行,同时抛出一个FileNotFoundException异常对象。   在J**a中,对异常的处理是强制的(运行时异常除外,在J**a异常体系结构中会说明),程序员必须在编写代码时对所有可能抛出的异常进行处理:   (1)使用try-catch结构捕获异常并且处理该问题;   (2)或者在函数方法的声明后使用throws列出可能抛出的异常来告知函数调用者处理该问题。   如果方法中的代码可能产生异常但没有进行处理,编译器就会发现这个问题并提醒程序员,要么处理这个异常,要么在异常说明中表明该方法可能产生异常,让方法调用者来处理这个异常,这种自顶向下强制执行的异常说明机制能够确保应用中没有未处理的错误(当然我们允许异常在*顶层仍然被抛出而不处理,但是必须在顶层函数的异常说明中列出该异常,这也被视为已经被程序员处理)。 J**a异常的基本语法   示例代码21.1    package program.chapter21; import j**a.io.FileNotFoundException; import j**a.io.FileReader; pu**ic class Code1 { pu**ic static void readFileWithTryCatch(){ try { FileReader reader = new FileReader(\"test.txt\"); System.out.println(\"in try\"); } catch (FileNotFoundException e) { System.err.println(\"in catch\"); } finally{ System.out.println(\"in finally\"); } } pu**ic static void readFileWithoutTryCatch() throws FileNotFound- Exception{ FileReader reader = new FileReader(\"test.txt\"); } }      示例代码21.1给出了对异常进行处理的两种方式。readFileWithTryCatch()函数通过try…catch语句块对可能抛出异常的代码进行封装,readFileWithoutTryCatch()函数使用throws列出可能抛出的异常。 \"目标性强:针对编程初学者,帮助初学者跨越编程的**道门槛。 问题典型,回答生动:采用一问一答的编写形式,解决编程时*容易遇到的典型问题。 章节独立:可以任意选择感兴趣的章节进行阅读。 \"