第9章灵活设计JSP网页 JSP的程序错误 ≯程序出错的情形相当普遍,应用程序开发人员通常必须提供相关 的机制,避免程序发生错误同时针对错误进行修正,以确保应用 程序的正常运 〉例外处理是Java处理程序错误的一套标准机制,JSP延用这套机 制,为运行网页过程中所产生的错误,提供相关的处理方法。 ≯JSP可能产生的错误可以大致分为两类:编译期的错误和运行期的 例外 JSP动态网页新技术
第9章 灵活设计JSP网页 JSP 动态网页新技术 1 JSP的程序错误 ➢ 程序出错的情形相当普遍,应用程序开发人员通常必须提供相关 的机制,避免程序发生错误同时针对错误进行修正,以确保应用 程序的正常运作。 ➢ 例外处理是Java处理程序错误的一套标准机制,JSP延用这套机 制,为运行网页过程中所产生的错误,提供相关的处理方法。 ➢ JSP可能产生的错误可以大致分为两类:编译期的错误和运行期的 例外
第9章灵活设计JSP网页 编译时期的错误 ≯程序编译上的错误是指JSP程序本身语法或者结构上的错误,当客 户端的用户打开服务器端某一个包含JSP程序的网页时,服务器会 先将其中的JSP程序做解译的操作,若此时程序中的语法不正确, 便会产生编译上的错误 〉编译期的错误通常很容易被发现,编译器会为程序开发人员提供 错误的原因以及错误种类 JSP动态网页新技术 2
第9章 灵活设计JSP网页 JSP 动态网页新技术 2 编译时期的错误 ➢ 程序编译上的错误是指JSP程序本身语法或者结构上的错误,当客 户端的用户打开服务器端某一个包含JSP程序的网页时,服务器会 先将其中的JSP程序做解译的操作,若此时程序中的语法不正确, 便会产生编译上的错误。 ➢ 编译期的错误通常很容易被发现,编译器会为程序开发人员提供 错误的原因以及错误种类
第9章灵活设计JSP网页 运行期的例外 〉发生在程序编译后的运行阶段,例如用户输入不正确的数据,导 致JSP程序无法顺利的运行 JSP程序设计人员则必须运用Java的例外处理机制,在网页运行的 时候排除错误状况。 JSP动态网页新技术 3
第9章 灵活设计JSP网页 JSP 动态网页新技术 3 运行期的例外 ➢ 发生在程序编译后的运行阶段,例如用户输入不正确的数据,导 致JSP程序无法顺利的运行。 ➢ JSP程序设计人员则必须运用Java的例外处理机制,在网页运行的 时候排除错误状况
第9章灵活设计JSP网页 try- catch子句 try( 运行指令 ∥侦错程序区块 catch(例外類型1例外物件){ 运行指令 ∥处理例外错误的程序片段 catch(例外類型2例外物件){ 运行指令 ∥0处理例外错误的程序片段 catch(例外類型n例外物件 运行指令 ∥0处理例外错误的程序片段 finally 运行指令 ∥一定会运行的程序区段 JSP动态网页新技术
第9章 灵活设计JSP网页 JSP 动态网页新技术 4 try-catch子句 try{ 运行指令 … ; //侦错程序区块 } catch(例外類型1 例外物件){ 运行指令 … ; //处理例外错误的程序片段 } catch(例外類型2 例外物件){ 运行指令 … ; //处理例外错误的程序片段 } catch(例外類型n 例外物件){ 运行指令 … ; //处理例外错误的程序片段 } finally{ 运行指令 … ; //一定会运行的程序区段 }
第9章灵活设计JSP网页 try-catch子句 > try-catch分为3个部份,分别是try、 catch和fna!y >ty区块中所包含的是可能产生例外状况的程序代码, catch块中 则是设定例外状况产生时所要运行的程序代码,最后的fnal区 块中则是不管有没有产生例外状况都会运行的程序片段 Catch语句所捕捉到的例外类型1与例外类型2对象则是衍生自 Exception类下的各种例外错误对象类型,代表葉种特定的例外情 形 段可能出错的程序代码首先被放在y区块之中,当其发生错误 生例外状况的时候,catc语句会去捕捉此例外错误是否符合所 设定的错误类型,然后依错误的奚型决定该运行哪个 catch[段中 的程序代码,而 finally语句则是不论是否有例外情况产生都一定 会运行到的程序代码。 JSP动态网页新技术 5
第9章 灵活设计JSP网页 JSP 动态网页新技术 5 try-catch子句 ➢ try-catch分为3个部份,分别是try、catch和finally 。 ➢ try区块中所包含的是可能产生例外状况的程序代码,catch区块中 则是设定例外状况产生时所要运行的程序代码,最后的finally区 块中则是不管有没有产生例外状况都会运行的程序片段。 ➢ Catch语句所捕捉到的例外类型1与例外类型2对象则是衍生自 Exception类下的各种例外错误对象类型,代表某种特定的例外情 形 。 ➢ 一段可能出错的程序代码首先被放在try区块之中,当其发生错误 产生例外状况的时候,catch语句会去捕捉此例外错误是否符合所 设定的错误类型,然后依错误的类型决定该运行哪个catch区段中 的程序代码,而finally语句则是不论是否有例外情况产生都一定 会运行到的程序代码
第9章灵活设计JSP网页 Exception类 例外处理机制,建构在一组预先设计好的例外类之上,JSP借由各 种例外类,处理程序中各种可能所发生的错误。 Java将程序中大部份普遍可能发生的错误,设计成一组例外类 程序发生错误的时候,Java编译器会丢出,个对应此种错误情 形的例外类对象。处理特定错误状况的程序代码,可以借由 catch 语句补捉代表此类型错误的例外对象,作出适当的处置 Java. lang. Execption类为所有例外类的基础类,例外类分别从这个 类衍生而来 JSP动态网页新技术 6
第9章 灵活设计JSP网页 JSP 动态网页新技术 6 Exception类 ➢ 例外处理机制,建构在一组预先设计好的例外类之上,JSP借由各 种例外类,处理程序中各种可能所发生的错误。 ➢ Java将程序中大部份普遍可能发生的错误,设计成一组例外类, 当程序发生错误的时候,Java编译器会丢出一个对应此种错误情 形的例外类对象。处理特定错误状况的程序代码,可以借由catch 语句补捉代表此类型错误的例外对象,作出适当的处置。 ➢ Java.lang.Execption类为所有例外类的基础类,例外类分别从这个 类衍生而来
第9章灵活设计JSP网页 例外类 例外类 说明 Number FormatException 字符串无法转换的例外 ArithmeticException 数学运算所产生的例外 ArraylndexOutofBounds- 数组索引值超出数组大小的例外 Exception NullPointerException 参考对象为nu的例外 JSP动态网页新技术 7
第9章 灵活设计JSP网页 JSP 动态网页新技术 7 例外类 例 外 类 说 明 NumberFormatException 字符串无法转换的例外 ArithmeticException 数学运算所产生的例外 ArrayIndexOutOfBoundsException 数组索引值超出数组大小的例外 NullPointerException 参考对象为null的例外
第9章灵活设计JSP网页 抛出自定义例外 在某些可以预知的情况下,通常会预先自行在程序中产生例外状 况,而不依赖系统的除错机制。 ≯ Throw语句可以让程序开发人员用以产生自定义的例外对象,而 在这种情形下所产生的例外情形,同样是以try- catch语句处理 throw new例外错误类型(“信息") JSP动态网页新技术 8
第9章 灵活设计JSP网页 JSP 动态网页新技术 8 抛出自定义例外 ➢ 在某些可以预知的情况下,通常会预先自行在程序中产生例外状 况,而不依赖系统的除错机制。 ➢ Throw语句可以让程序开发人员用以产生自定义的例外对象,而 在这种情形下所产生的例外情形,同样是以try-catch语句处理。 ➢ throw new 例外错误类型(“信息")
第9章灵活设计JSP网页 字符串数据处理 字符串( String)并不是SP的基本数据类型,字符串数据类型是由 Java的 String 所产生的“种对象,本身于Java被当作一种对象数 据类型,这个类同时定义了有关字符串处理的各种方法 字符串变量使用之前,必须先经过声明 String str Var=“字符串值”; 以new关键词产生一个包含字符串值的字符串变量。 String str Var= new String(“字符串值”) 旦字符串变量声明完成之后,便可以在应用程序中任意的使用 进行与学符事相关的运算。 oout printIn(str Var)%> JSP动态网页新技术
第9章 灵活设计JSP网页 JSP 动态网页新技术 9 字符串数据处理 ➢ 字符串(String)并不是JSP的基本数据类型,字符串数据类型是由 Java的String类所产生的一种对象,本身于Java被当作一种对象数 据类型,这个类同时定义了有关字符串处理的各种方法 。 ➢ 字符串变量使用之前,必须先经过声明。 String strVar = “字符串值 ”; ➢ 以new关键词产生一个包含字符串值的字符串变量。 String strVar = new String(“字符串值 ”); ➢ 一旦字符串变量声明完成之后,便可以在应用程序中任意的使用 进行与字符串相关的运算
第9章灵活设计JSP网页 字符串数据类型转换 方法 说明 String valueD数值数据)数值数据转成字符串 Boolean get Boolean(字符串)字符串数据转成布尔值 Float parse float串)字符串数据转成浮点数 Double parse double((字符串)字符串数据转成倍精确浮点数 Byte parse Byte((字符串)字符串数据转成位整数 Short parses}hort(字符串 字符串数据转成短整数 nteger parseInt(字符串)串资料转成整数 Integer parseInt(字串)字符串数据转成长整数 JSP动态网页新技术
第9章 灵活设计JSP网页 JSP 动态网页新技术 10 字符串数据类型转换 方 法 说 明 String.valueOf(数值数据 ) 数值数据转成字符串 Boolean.getBoolean(字符串 ) 字符串数据转成布尔值 Float.parseFloat(字符串 ) 字符串数据转成浮点数 Double.parseDouble(字符串 ) 字符串数据转成倍精确浮点数 Byte.parseByte(字符串) 字符串数据转成位整数 Short.parseShort(字符串 ) 字符串数据转成短整数 Integer.parseInt(字符串 ) 串资料转成整数 Integer.parseInt(字符串 ) 字符串数据转成长整数