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

兴化网站建设网络销售

兴化网站建设,网络销售,建设网站开发公司,如何看网站做的好坏一、异常概述与异常体系结构 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.yidumall.com/news/20105.html

相关文章:

  • 包头政府网站建设腾讯企点app下载安装
  • asp动态网站开发实训小结腾讯云服务器
  • 家居品牌网站建设百度竞价入口
  • 免费的个人简历模板 医学生青岛seo整站优化招商电话
  • 张家港企业网站怎么优化自己公司的网站
  • 个人网站的搭建绍兴seo管理
  • wordpress 用户上传头像网站关键词免费优化
  • 注册网站的免费网址是什么百度小程序排名优化
  • 防伪网站怎么做24小时网站建设
  • 东莞公司网站建设营销型网站建设百度竞价推广方案的制定
  • 网站推广需求要素深圳推广系统
  • 做网站多长时间抖音关键词搜索排名
  • 有什么网站是layui做的成都官网seo服务
  • 网站编程用什么语言好网站排名优化首页
  • 哈尔滨建站服务网站开发国内新闻摘抄2022年
  • php网站开发流程图微信怎么引流营销呢
  • 手机怎么制作ppt小璇seo优化网站
  • 旅游网站设计源码外贸独立站怎么建站
  • 长沙销售公司 网站如何利用互联网宣传与推广
  • 南昌简单做网站钓鱼网站制作教程
  • 和老妇做爰视频网站app推广平台放单平台
  • 焦作音响网站建设seo图片优化的方法
  • 重庆网站租赁空间nba最新比赛直播
  • 淄博免费网站建设全国疫情高峰感染进度查询
  • 武汉外贸网站建设公司seo店铺描述例子
  • 沈阳外贸网站制作公司沈阳百度seo关键词优化排名
  • 乐清本地网站网络营销这个专业怎么样
  • 福州培训网站建设123网址之家
  • 网站分类主要有哪些东莞网站建设平台
  • 成立一间网站开发公司关键词排名查询工具