当前位置: 首页 > news >正文

淘宝网站店铺请人做青岛seo网络优化公司

淘宝网站店铺请人做,青岛seo网络优化公司,七牛云上市,应用镜像wordpress一、异常概述与异常体系结构 Error:Java虚拟机无法解决的严重问题: JVM系统内部错误,资源耗尽,如:StackOverflow \OOM堆栈溢出 处理办法:只能修改代码,不能编写处理异常的代码 Exception:可以处理的异常 &…

一、异常概述与异常体系结构

Error:Java虚拟机无法解决的严重问题:
JVM系统内部错误,资源耗尽,如:StackOverflow \OOM堆栈溢出
处理办法:只能修改代码,不能编写处理异常的代码
Exception:可以处理的异常
(1)空指针访问
(2)试图读取不存在的文件
(3)网络连接中断
(4)数组角标越界
处理异常的最佳时间:编译期间
编译时异常----受检异常-----更严重,执行javac.exe命令时可能出现的异常
运行时异常—非受检异常—执行java.exe命令时,出现的异常—一般也不用try-catch处理(实际开发中)
** 异常的体系结构: **

常见的异常类型,举例说明:

/* **************运行时异常************ */
@Test
//ArithmeticException
public void test1(){int a=2;int b=0;System.out.println(a/b);
}@Test
//InputMismatchException
public void test2(){Scanner scanner=new Scanner(System.in);int score=scanner.nextInt();System.out.println(score);scanner.close();
}@Test
//NullPointerException
public void test3(){int[] num=null;System.out.println(num[3]);String str=null;System.out.println(str.length());
}@Test
//ArrayIndexOutOfBoundsException
//StringIndexOutOfBoundException
public void test4(){int[] num = new int[2];System.out.println(num[3]);String str="abc";System.out.println(str.charAt(5));
}@Test
//ClassCastException
public void test5(){Object obj=new Date();System.out.println(obj);String str=(String)obj;
}@Test
//NumberFormatException
public void test6(){String str="abc";System.out.println(Integer.valueOf(str));
}

二、异常处理机制

1.抓抛模型

抛——程序在正常执行的过程中, 一旦出现异常,会产生并抛出一个异常类的对象,之后代码不执行
关于异常类对象的产生:(1)系统自动生成的异常对象
(2)手动生成一个异常对象并抛出throw new 异常名();

抓——处理异常的方式
(1)try-catch-finally
(2)throws 往外抛,最多抛到main就要处理

2.异常处理方式一:try-catch-finally

try{// 可能产生异常的代码
}catch(异常类型1 变量名1){//处理异常的方式1
}catch(异常类型2 变量名2){//处理异常的方式2
}finally{//一定会执行的代码
}

说明:
(1)finally是可以省略的
(2)使用try将可能产生异常的代码包装起来,一旦出现异常,就会生成一个对应的异常类对象
根据此对象的类型,去catch中进行匹配
(3)一旦try中的异常对象匹配到某一个catch,就会进入catch中进行异常的处理,一旦处理完成,
就跳出当前的try-catch结构(在没有写finally时),继续执行其后的代码
(4)catch中的异常类型如果没有子父类关系,则谁声明在上,在下无所谓
catch中的异常类型如果满足子父类关系,则要求子类一定声明在父类的上面,否则会报错
(5)常用的异常对象处理方式:
①String getMessage()
②e.printStackTrace()
(6)在try结构中声明的变量,出了try结构以后,就不能再被调用
** finally的认识 **
(1)finally中声明的语句是一定会被执行的代码,即使catch中又出现了异常,try中有return,catch种有return语句等
(2)finally中的语句会在所有return语句执行前被执行
finally中如果有return,直接执行finally中的return
(3)finally的使用场景:
像数据库连接、输入输出流、网络编程Socket等资源,
JVM是不能自动回收的,需要手动进行资源释放,就需要声明在finally中
** 体会:**
(1)使用try-catch-finally处理编译时异常,使得程序在编译时不再报错,但运行时仍可能报错
相当于shiyongtry-catch-finally将一个编译时可能出现的异常,延迟到运行时出现
(2)开发中,由于运行时异常比较常见,所以通常不针对运行时异常编写try-catch-finally
编译时异常,一定要考虑异常处理

3.异常处理方式二:throws+异常类型

  写在方法的声明处,指明此方法执行时,可能会抛出的异常类型。一旦当方法体执行时,出现异常,仍会在

异常代码处生成一个异常类的对象,此对象满足throws后的异常类型时,就会被抛出。异常代码后续的代码不会再执行。

4.对比两种处理方式

**try-cathch-finally:**真正将异常处理掉了
throws+异常类型:只是将异常抛给了方法的调用者,并没有真正将异常处理掉
体会
(1)父类没有抛出异常,子类也不能抛异常
(2)子类抛出的异常不大于父类抛出的异常

5.开发中如何选择使用try-catch-finally还是throws

(1)如果父类中被重写的方法没有throws处理异常,则子类重写方法也不能用throws
只能用try-catch-finally
(2)执行的方法中,先后调用了另外几个方法,这几个被调用的方法是递进关系执行的,
建议使用throws处理这几个方法,执行方法使用try-catch-finally

三、手动抛出异常对象 throw

1.运行时异常可以不在方法声明里throws
2.编译时异常需要在方法声明中抛出

四、用户自定义异常

1.继承现有的异常体系结构RuntimeException,Exception
2.提供序列版本号
3.提供重载的构造器

五、throw和throws的区别

throw:抛出一个异常类的对象,生成异常对象的过程声明在方法体内
throws:属于异常处理的一种方式,在方法声明处声明

http://www.yayakq.cn/news/775383/

相关文章:

  • 广告推广方案百度seo推广工具
  • 企业网站名备案广东营销网站建设
  • 网站背景修改网站开发技术岗位职责
  • 门户网站界面设计模板网站建设丨选择金手指排名15
  • 东软实训网站开发门户网站建设需注意的问题
  • 北京网站公司哪家好商业网站设计与制作论文
  • 东莞智通人才网官网山西seo优化公司
  • 大型网站 开发语言网络舆情分析师证书
  • 八大处做双眼预约网站北京产品设计公司
  • 佛山外贸网站建设资讯wordpress数据库密码
  • 如何建一个企业网站做网站ps切图
  • 12306网站是是阿里巴巴做的吗wordpress建两个网站
  • 揭阳有哪家网站制作公司永兴县网站建设推广公司
  • 自己建一个网站怎么赚钱现货平台在中国合法吗
  • fullpage网站怎么做商城网站建设是什么意思
  • 在线音乐网站开发数据库网站发展
  • 打电话说帮忙做网站成都大丰网站建设
  • 济南建网站送400电话用wordpress建站域名和空间哪里买比较好
  • 网站建设需要些什么软件闲置服务器做网站
  • 天水网站建设公司排名免费商用的cms
  • 珠海企业医疗网站建设企业网络营销方案策划书
  • 国内做服装趋势的网站做任务赚话费的网站
  • 莱芜正规的企业建站公司驻马店360网站建设
  • 农村建设集团有限公司网站一个wordpress模版几个网站
  • 做电商设计有什么好的网站推荐上海建设工程造价信息网官网
  • ui做交互式网站吗做一普通网站需要多少钱
  • 土豆网网站开发源代码公司做网站是做什么账务处理
  • 网站备案 快递互联网金融
  • 做网站如何赚钱知乎上海天华室内设计有限公司
  • 网站设计 seo南通企业网站排名