7 异常处理.

Slides:



Advertisements
Similar presentations
闽教版(三起点) 五年级上册 Unit5 Months of the year Part B 教学课件 华安县第二实验小学 陈 满 玉.
Advertisements

惟勤電訊有限公司 FLOW Software System Co., Ltd 專案經理 : 劉振林.
1 Java 语言程序设计 计算机系 鲍金玲. 2 引子 甲骨文 甲骨文是全球最大的信息管理软件及服务供应商,成立于 1977 年,公司总部 设在美国加利福尼亚州的红木城( Redwood Shores ),全球员工达 名, 包括 名开发人员、 7500 多名技术支持人员和.
程序设计语言基础 软件工程系 秦晓燕. 课程目标 了解面向对象程序设计的思想,以及软件 开发流程。 学习 Java 语言的基本概念和编程方法,基 本掌握 Java 类库的使用。 能够利用所学的方法开发简单的小型应用 程序.
淮海工学院 计算机课程 第 1 章 Java 入门 1.1 Java 的起源与发展 1.2 Java 程序开发与运行环境 1.3 Java 程序设计步骤 1.4 Java 程序的构成 一个小游戏.
第四章 类、对象和接口.
軟體工程 -物件導向程式設計與UML系統分析實作
风险管理 寻求套利 金融创新 定价 现金流 贴现率 贴现率.
Unit 3 Families Celebrate Together Lesson 13 I Love Autumn.
第四章 電腦軟體 課前指引 實體的電腦裝置,我們稱之為「硬體」(Hardware),至於軟體則是個抽象的概念,軟體是經由人類以各種不同的程式語言撰寫而成,以達到控制硬體、進行各種工作的抽象化(例如文書處理)等動作。有些讀者經常迫不及買了一台新電腦,就以為可以開始使用!事實不然,一部配備齊全的電腦,如果沒有合適的軟體來控制與搭配,絕對也是英雄無用武之地。一般來說,我們將軟體分「系統軟體」(System.
第 1 章 網路起源 ARPAnet 、Internet 、WWW
中日合资 武汉安珞计算机系统有限公司 公司介绍
专题八 书面表达.
中职英语课程改革中 如何实践“以就业为导向,服务为宗旨”的办学理念
He said: What is a team? Team is not to let the other person failed, and do not let any team member fail!
參考資料: 吳美美,Chap. 2-3 蔡明月,Chap. 2 卜小蝶,Chap. 2 Walker and Janes, Chap. 2
JAVA程序设计.
程式語言與設計 授課教師:蔣德威.
商务英语口译教学的 教学理念与教学安排 广东金融学院外语系 聂泳华.
手持裝置應用系統之設計 與未來發展 黃有評 大同大學 資訊工程系.
DCE Market Data Business
数 学 与 工 程 的 对 话 中山大学 信息科学与技术学院 李硕彦教授演讲 (10月21, 24日) 李硕彦 ( Bob Li ) 简介:
2012 Project Planning 2012 年技术规划
59 中 张丽娟 学习目标: 1. 识记并理解运用 6 个单词和 5 个短语。 (source, accessible, network, access, via, create come up with, from the moment on, consist of, go down , at the.
闽教版小学英语五年级上册 Unit 5 Part B
Been During the Vacation?
Unit 8 When is your birthday?.
mashup 林維甫 郭家伶 吳佩珊 蔡小倩 楊士毅 曾仕豪 Marshup起源 何謂Mashup Mashup類型 Mashup架構
ACM简介及使用指南.
快速创新指標 3.6 CEUs.
中国物种信息系统 China Species Information System (CSIS)
優質教育基金研究計劃研討會: 經驗分享 - 透過Web 2.0推動高小程度 探究式專題研習的協作教學模式
資源與能力 沈培輝老師(科管所).
軟體原型 (Software Prototyping)
Topic 06 行銷資訊系統的開發方法.
LOVE FOR A FALLEN CITY An explanation of the play 傾城之戀舞台劇說明
Java基础 JavaSE异常.
BizTalk Server 2004.
Chapter7 全球資訊網與瀏覽器介紹 網路應用入門(一) Chapter7 全球資訊網與瀏覽器介紹
Unit 1a Team work.
第 14 章 例外處理.
Java语言程序设计 第五部分 Java异常处理.
The Form of a Letter --British style
Summer English and Data Science
第2章 网络营销工具.
臺北市立大學 資訊科學系(含碩士班) 賴阿福 CS TEAM
Repetitive Manufacturing Application 重複性製造運用
第4章(1) 空间数据库 —数据库理论基础 北京建筑工程学院 王文宇.
异常及处理.
大學專題介紹 M-Kaigo老人心靈介護系統
第 1 章 Java 簡介.
联合创新中的技术许可与知识产权分配问题 Technology licensing and IP allocation in joint R&D collaboration 1.
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
CISCO年度1994股東常會
Vision for 2007 相片: 南寧德天大瀑布- 靖西通靈大峽谷 – 明仕田園 文字: 阿虫 音樂: 幽蘭逢春 (笛子)
Unit Two Ben's birthday.
外研版 高一年级 (必修1) Module 1.
11/15 今天的学习目标 (Today’s Learning Objectives)
第7章 异常处理.
會長的職權及工作 會長手冊 國際總會的宗旨、目的和信條 (附件一) 會長的工作 會長的權力 屬會架構及職員會務職責 (附件二、三) 會議種類
「啟發潛能教育」 (Invitational Education)
B、資訊系統開發方法論 系統開發生命週期法 雛型開發法 合作需求規劃與合作應用設計 使用者自建系統 資訊系統的委外與租用 套裝軟體的引進
TAA-NJ Annual Report January December 2016
Java程序设计 第17章 异常和断言.
微星科技簡介 人力資源處 專案經理 楊心俊
6.引用資訊之技巧.
十二月份的由來 整理者:Tracy 資料來源:網路.
Microsoft 與Netscape 瀏覽器大戰
Naning Mountain Scenes
Presentation transcript:

7 异常处理

7.0 本章内容 1 异常处理概述 2 异常处理机制 3 用户自定义异常

7.1 异常 (Exception)处理概述 传统的异常处理方法:程序运行过程中的错误导致异常,传统的面向过程的程序通过条件判断语句进行错误处理。 Java的异常处理方法:Java引入异常处理概念,在一个方法运行过程中,如果发生了异常,则该方法产生一个异常对象,由系统寻找相应代码处理这一异常。 阅读文档: 思考:如果找不到处理代码,怎么办? 异常的概念 由于硬件设备、软件设计导致程序的运行过程中出现的错误称之为。 异常概念实例 HelloArgs.java

7.1 异常 (Exception)处理概述 程序错误分为语法错误和运行错误,语法错误在编译时由编译器检查。 运行错误包括链接错误,内存溢出,文件读写失败,网络中断,强转失败,数组下标越界等等。 Java提供异常处理机制将异常处理程序和主体程序分离出来,并将各种异常信息进行分类处理。 异常对象可以由虚拟机产生也可以由程序生成。 如何理解? 一切异常类都是从Throwable类继承过来的,该类定义在java.lang语言包中。 异常类的继承结构见下页。

January 15, 1991 "Stealth Project" (as named by Scott McNealy) brainstorming meeting in Aspen with Bill Joy, Andy Bechtolsheim, Wayne Rosing, Mike Sheridan, James Gosling and Patrick Naughton. February 1, 1991 Gosling, Sheridan, and Naughton begin work in earnest. Naughton focuses on "Aspen" graphics system, Gosling on programming language ideas, Sheridan on business development. June 1991 Gosling starts working on the "Oak" interpreter, which, several years later (following a trademark search), is renamed "Java." August 19, 1991 Green team demonstrates basic user interface ideas and graphics system to Sun co-founders Scott McNealy and Bill Joy. Summer 1992 Massive amounts of hacking on Oak, and related components. October 1, 1992 Wayne Rosing joins from SunLabs (which had formed in July 1990) and assumes management of the team. March 15, 1993 The development team, now incorporated as FirstPerson, focuses on interactive television after learning about Time Warner's RFP for its interactive cable TV trial in Orlando, FL. April, 1993 NCSA Mosaic 1.0, the first graphical browser for the Internet, is released. June 14, 1993 Time Warner goes with SGI for its interactive cable TV trial, despite acknowledged superiority of Sun technology and assurances in mid-April that Sun won the deal. Summer, 1993 Naughton flies 300,000 miles selling Oak to anyone involved in consumer electronics and interactive television; meanwhile, the rate at which people are gaining access to the Internet reaches breakneck speed. August, 1993 After months of promising negotiations with 3DO to provide set-top box OS, 3DO president Trip Hawkins offers to buy the technology outright. McNealy refuses, and deal falls through. September, 1993 Arthur Van Hoff joins team, originally to do application development environment aimed at interactive television; ends up doing mostly language design. February 17, 1994 Alternative FirstPerson business plan for doing CD-ROM/online multimedia platform based on Oak presented to Sun executives to very mixed reviews. April 25, 1994 Sun Interactive created, half of FirstPerson employees leave to join it. June, 1994 "Liveoak" project started. Designed by Bill Joy to use Oak for a big small operating system project. July, 1994 Naughton reduces the "Liveoak" project's scope to simply retargeting Oak at the Internet after writing a throwaway implementation of a Web browser in a long weekend hack. September 16, 1994 Jonathon Payne and Naughton start writing "WebRunner," a Mosaic-like browser later renamed "HotJava" September 29, 1994 HotJava prototype is first demonstrated to Sun executives. Autumn, 1994 Van Hoff implements Java compiler in Java. (Gosling had previously implemented it in C.) May 23, 1995 Sun formally announces Java and HotJava at SunWorld '95. Netscape announces its intention to license Java for use in Netscape browser. September 21, 1995 Sun-sponsored Java development conference held in New York City. September 25, 1995 Sun announces expanded alliance with Toshiba and a joint project to develop remote information retrieval products which incorporate Java. September 26, 1995 Sunsoft announces suite of business-oriented development products incorporating Java. October 30, 1995 Oracle announces its WebSystem suite of WWW software which includes a Java-compatible browser. At the Internet World Conference in Boston, Lotus Development Corp., Intuit Inc., Borland International Inc., Macromedia Inc.,and Spyglass Inc. announce plans to license Java. December 4, 1995 Sun and Netscape announce Javascript, a scripting language based on the Java language which is designed to be accessible to non-programmers. Sun, Netscape and Silicon Graphics announce new software alliance to develop Internet interactivity tools. Borland, Mitsubishi Electronics, Sybase and Symatec annouce plans to license Java. December 6, 1995 IBM and Adobe announce licensing agreement with Sun for use of Java. December 7, 1995 Microsoft announces plans to license Java during announcement of suite of new Internet products, including Visual Basic Script.

7.1 异常 (Exception)处理概述 运行异常是指通过提高编程完全可以避免的异常,例如: ArrayIndexOutOfBoundsException, ClassCastException 这类异常编译器不予理会,完全交给程序员处理。 检查异常是指无论如何改进程序都无法避免的异常,例如:FileNotFoundException, IOException, SQLException 这类异常在程序里必须显式地处理。 Error类错误在程序中一般也不处理,因为它们的严重程度足以使VM无法继续运行。

7.2异常处理机制(Exception) Java处理异常步骤。 (1)Java程序执行过程中如果出现异常,会自动生成一个异常对象,该异常 对象被提交Java运行时系统,这个过程称为抛出异常。抛出异常也可以由 用户程序自定义。 (2)当Java运行时系统接收到异常对象时,会寻找处理这一异常的代码并把 当前异常对象交给其处理,这一过程叫捕获异常。 (3)如果Java运行时系统找不到可以处理异常的方法,则运行时系统终止, 相应的Java 应用程序退出。

7.2 异常处理机制(Exception) 捕获异常 try…catch…finally 声明异常 一个方法如果本身不处理异常,该方法可以声明抛出异常,使得异常对象可以从调用栈向后传播,直到有合适的方法捕获它为止。声明抛出异常由方法声明中的throws子句指明,语法格式如下: type methodName ([paramList]) [throws exceptionList]{ ……} 抛出异常, throw语句的语法格式是: throw <异常对象> 示例:ReadFile. java TestThrowsException.java

7.2异常处理机制(Exception)

7.2异常处理机制(Exception) 一般应用中定义的异常都是检查异常。 建模初期没有必要细化异常类,简单地定义一个应用异常就可以了,以后在从该类继承下来进行细化。(A) finally语句块一定会执行,除非VM错误或显式地调用System.exit(0)语句。 throws声明中,任何异常定义都可以。(B) 异常对象携带的文本描述信息可以通过构造器参数传递进去(见异常类构造器定义),该信息可以通过getMessage()方法获得。 异常对象广播时,方法栈中的语句执行信息可以通过printStackTrace()打印输出。

7.2异常处理机制(Exception) 重复异常处理机制: (1)Java程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出异常。抛出异常也可以由程序来强制进行。 (2)当Java在运行时系统接收到异常对象,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。 (3)如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。

异常的处理过程示例

7.3用户自定义异常

实例: //业务逻辑描述,用户登记,当号码为负值时,抛出用户自定义异常。 UserDefinedException.java

总结 一个图 五个关键字 try catch finally throws throw 先捕捉特殊的异常,再一般的异常 异常和重写的关系 自定义异常