老师,这个异常要怎么处理?

视频当中2:51继承这个类是干什么的?我照着视频上写是报错的。


package XmlProject;
import org.xml.sax.SAXException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import java.io.IOException;
public class TestSAXParse {
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
//1) 创建SAXParserFactory的对象
SAXParserFactory spf=SAXParserFactory.newInstance();
//2) 创建SAXParser对象 (解析器)
SAXParser parser=spf.newSAXParser();
//3) 创建一个DefaultHandler的子类
BookDeaultHandler bdh=new BookDeaultHandler();
//4) 调用parse方法
parser.parse("D:\\Users\\0091274\\Desktop\\books.xml", bdh);
}
}
package XmlProject;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class BookDeaultHandler extends DefaultHandler {
//重写第一个方法
/**解析xml文档开始时调用*/
@Override
public void startDocument() throws SAXException {
// TODO Auto-generated method stub
super.startDocument();
System.out.println("解析xml文档开始");
}
/*解析xml文档结束时调用*/
@Override
public void endDocument() throws SAXException {
// TODO Auto-generated method stub
super.endDocument();
System.out.println("解析xml文档结束");
}
/**解析xml文档中的节点时调用*/
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
// TODO Auto-generated method stub
super.startElement(uri, localName, qName, attributes);
//System.out.println("解析xml文档中的节点时调用");
/**判断,如果是book节点,获取节点的属性和属性值*/
if("book".equals(qName)){
//获取所有的属性
int count=attributes.getLength();//属性的个数
//循环获取每个属性
for(int i=0;i<count;i++){
String attName=attributes.getQName(i);//属性名称
String attValue=attributes.getValue(i);//属性值
System.out.println("属性名称:"+attName+"\t属性值为:"+attValue);
}
}else if(!"books".equals(qName)&&!"book".equals(qName)){
System.out.print("节点的名称:"+qName+"\t");
}
}
/**解析xml文档中的节点结束调用*/
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
// TODO Auto-generated method stub
super.endElement(uri, localName, qName);
//System.out.println("解析xml文档中的节点结束调用");
}
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
// TODO Auto-generated method stub
super.characters(ch, start, length);
String value=new String(ch,start,length);
if(!"".equals(value.trim())){
System.out.println(value);
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="1001">
<name>java入门到精通</name>
<author>张小三</author>
<price>95.6</price>
</book>
<book id="1002">
<name>MySql从删库到跑路</name>
<author>张三</author>
<price>85.6</price>
</book>
</books>