异常处理和xml

异常:

1、Throwable下有个异常子类:error和execption。
Error:是不能靠程序能处理的,比如:内存溢出。
Exception:运行时异常(非检查异常)和非运行时异常(检查异常)

常见的运行时异常:

  • NullPointerException(空指针异常)当操作一个空引用抛出的一个异常
  • NumberFormatException(数据格式化异常)试图将字符串转换为一种数值类型时,但字符串转换不适当出现的异常。
  • ClassCastException(类型转换异常)强制类型转换不匹配时出现的异常。
  • ArrayIndexOutOfBoundsExveption(数组下标越界异常):当使用一个不存在的下标时出现的异常。
  • ArithmeticException(数字异常):异常运算条件时出现的

非运行时异常:

  • SQLException:访问数据库时出现的
  • IOException :当发生某种I/O异常时抛出的
  • ClassNotFoundException:当应用程序使用Class类中的forName方法、loadClass方法时,抛出的异常。
  • 在JAVA语言中,如何引发异常?对异常处理的途径?

在java中可以使用throw来引发异常。

  • 使用throws抛出异常,
  • 使用try-catch语句捕获异常。
    (当调用一个含有throws声明异常抛出的方法时,编译器要求必须处理这个异常, 而处理方式有两种:
    1:使用try-catch处理该异常
    2:在当前方法上继续声明throws将该异常
    抛出)

名词解释:

Try:用来指定一块预防所有异常的程序,
Catch字句紧跟在try后面,用来指定想要捕获的异常
Throw语句用来明确抛出一个异常
Throws用了标明这个方法可能会抛出的各种异常
finally块是异常捕获机制中的最后一块。
finally可以直接跟在try后面或者最后一个catch之后。
finally可以保证只要程序执行到try语句块中,无论
try语句块中的代码是否抛出异常,finally块中的代码
都必定执行。
注意: 通常会将无论是否出现异常都要运行的代码放在 finally中确保运行,比如IO操作中的关闭流。
Final是一个修饰符。
Finalize()是方法名,此方法是在垃圾回收器将对象从内存中清除之前做必要的清理工作。

  • 派生类在继承超类时会重写其方法,那么在重写超类
    中含有throws声明异常抛出的方法时,对throws的重写规则:
    1)可以不再抛出任何异常
    2)可以仅抛出父类方法抛出的部分异常
    3)可以抛出父类方法抛出异常的子类型异常
    4)不允许抛出额外异常
    5)不允许抛出父类方法抛出异常的父类型异常

xml

1、xml:可扩展标记语言,是一种常用的数据结构,用于简化数据的存储和共享。
2、xml具有良好的结构:
2.1)xml文档必须有唯一的元素
(一个xml只能有一个根元素)
2.2)所有标签都必须配对使用(双标签、单标签)
2.3)标签可以嵌套,但是不能交叉嵌套
2.4)严格区分大小写
2.5)属性无序,属性值必须使用引号(单双引号都可以,若多个属性中间用空格隔开)
3、xml的优点:
3.1)可以任意扩展,描述任何数据,是通用的数据格式
3.2)严格的语法规定,可以使用通用的API解析,简化编程,提高开发效率
4、xml中特殊符号:
<:&lt >:&gt &:&amp ':&apos ":&quot 空格:&nbsp
版权:&copy 注册商标:&reg 商标:&trade
5、xml的解析方式:
1)SAX(Simple API for xml)解析:是一种速度快,更有效的方法,边扫描边解析,可在解析文档的任意时刻停止解析。
优点:解析立刻停止,速度快,没有内存压力
缺点:不能对节点进行修改
SAX(于w3c没有任何关系)是解析xml的一种接口,以流的方式将xml文档读取到内存中,以事件模型的方式解析处理xml文档,获取xml文档中的内容。
支持sax接口的解析器很多,但是没有一个主流的浏览器内置xml解析器支持SAX接口。

SAX解析方式:

1.获取工厂实例;

2.得到解析器;

3.得到读取器;
4.设置内容处理器;

(一)第一步:新建一个工厂类SAXParserFactory,代码如下:

SAXParserFactory factory = SAXParserFactory.newInstance();

(二)第二步:让工厂类产生一个SAX的解析类SAXParser,代码如下:

SAXParser parser = factory.newSAXParser();

(三)第三步:从SAXPsrser中得到一个XMLReader实例,代码如下:

XMLReader reader = parser.getXMLReader();

(四)第四步:把自己写的handler注册到XMLReader中,一般最重要的就是ContentHandler,代码如下:
reader.setContentHandler(this);

(五)第五步:将一个xml文档或者资源变成一个java可以处理的InputStream流后,解析正式开始,代码如下:
reader.parse(new InputSource(is));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值