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

网页制作免费网站建设搜狗网址

网页制作免费网站建设,搜狗网址,做住宿的有几个网站,百姓网找工作一、背景引入: Java中的异常是指:Java程序在运行时可能出现的错误或非正常情况。例如:在程序中试图打开一个根本不存在的文件,在程序中除0等。异常是否出现:通常取决于程序的输入、程序中对象的当前状态以及程序所处的…

一、背景引入:

Java中的异常是指:Java程序在运行时可能出现的错误或非正常情况。例如:在程序中试图打开一个根本不存在的文件,在程序中除0等。异常是否出现:通常取决于程序的输入、程序中对象的当前状态以及程序所处的运行环境。程序抛出异常之后会对异常进行处理,异常处理将会改变程序的控制流程。出于安全性考虑:就是避免异常程序影响其他正常程序的运行,操作系统通常会将出现异常的程序强制中止,并弹出系统错误提示。

二、关于异常的案例分析:

(1)首先创建一个Test_Exception类,里面有一个关于我们的正常除法运算与输出。

package com.fs.ex;
import java.util.Scanner;
public class Test_Exception {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入被除数:");int num1=sc.nextInt();System.out.println("请输入除数:");int num2=sc.nextInt();System.out.println("计算结果如下:");System.out.println(num1+"/"+num2+"="+(num1/num2));}}

(2)比较理想的计算结果就是:我们测试输入正常的两个整数数据 。

(3) 但是所有的程序并不会如我们所预料的那样有一个正常输入情况,比如我们的用户若输入个"A"字符时:(出现了异常情况报告)

我们很明显就能发现为啥报错,是因为我们代码中:扫描的是整数类型的数据,但是我们输入的是字符类型的,肯定有问题不匹配。 

注意:我们要学会看下方的报错提示,去找到确定的错误位置并去解决程序出现的问题:Exception in thread "main"(在主线程中) java.util.InputMismatchException(输入不匹配异常)。在最下方蓝色的地方表示的一般是我们自己的类里出现异常的位置。而它上面的哪些很多异常报告:应该是我们JDK里面的类的异常报错,而JDK里面代码我们肯定一般不能修改。所以还是由于我们写的类的一些地方导致类似于"蝴蝶效应"从下导致上面也跟着出现异常。然后它会告诉我们我们自己所写的类错在第几行,我们就可以点击去向上查找。

(4) 还有可能出现啥情况呢?比如我们在里面继续测试输入:"num1"是10,"num2"是0,最后也会出现报错!

这里我们又可以根据异常消息提示:发现是在Test_Exception类的第11行出现了异常,那么我们就能进行下一步的对异常进行处理 (这是我后面提到的异常的捕获与处理)。

三、异常的小结:

(1)概念:异常情况是指程序在运行时,可能由与外部系统的条件变更(与我们一厢情愿所设想的不一设)而导致程序可能会出错的情况。

(2)异常体系:(面试题常考!!)

1、Throwable类是Java语言中所有错误和异常的父类 。

(1)异常:(Exception)程序运行过程中,可以依靠程序本身解决的问题。

什么是可以靠程序本身解决的意思呢?就是如上面我们的案例虽然保了错,但是可以去修改代码解决(异常的处理)

接着异常又分为两类:

1.检查异常:

1)ClassNotFoundException:类无法加载异常

例子如下:


这时我们再改正以下就好了:

2)FileNotFoundException: 文件无法加载异常
3)IOException: IO异常

2.运行时异常:(这种异常是在我们运行之后才产生的)

1)InputMismatchException: 输入类型不匹配(前面案例展示过)。

2)ArithmeticException: 算术异常(前面案例展示过)。

3)NullPointerException:空指针异常(如下代码展示)

例子如下:

注意:"str"对象调用方法,却出现异常。原因:"str"引用指向空,因为我们是根据引用去找堆里的对象,再根据堆里的对象去调用方法,那这里我们找到"null","null"里面不可能有方法的引用指向toString()方法吧?

4)ArrayIndexOutOfBoundsException:数组下标越界异常(大家常见的异常情况,例子如下:)

5)ClassCastException:类转换异常

例如:我创建一个类:Person,再创建两个类:分别是:Student类与Teacher类,让它们去继承Person类。这时允许创建的以下几种对象情况:

package com.fs.ex;public class Test {public static void main(String[] args) {Person person1 =new Teacher();Person person2 =new Student();Teacher teacher1 = (Teacher) person1;Student student1 = (Student)person2;}
}

这样去创建对象没有任何异常情况而报错,但是如果我们改成这样:

这就是我们运行时可能出现的类型转换异常。 

6)NumberFormatException: 数字格式化异常

下方举个常见例子:(将字符串转换为int类型的数据)

package com.fs.ex;
import java.util.Scanner;
public class Test_Exception {public static void main(String[] args) {String str="123";int number=Integer.parseInt(str);System.out.println("number="+number);}
}

测试结果:

但是如果我们这样写就会在运行时出现异常:

7)还有其他等等很多这里就不举例了...

(2)错误:(Error)程序运行过程中,依靠程序本身可以解决的严重性问题。

(我们要知道整个程序的运行它不只是包含程序的异常,还有一种可能叫做错误)。

比如:我们现在内存条只有2个G,现在有一个数组要开辟3个G的内存空间,是不是肯定开不出,这不是程序的问题,这是一种错误,不是程序能够解决的,除非你去升级硬件。

http://www.rdtb.cn/news/18222.html

相关文章:

  • 设计一个小程序需要多少钱seo的外链平台有哪些
  • 网站上的咨询窗口是怎么做的广州seo优化
  • 商城网站制作多少钱东莞seo建站如何推广
  • 诈骗网站谁做磁力多多
  • 开源的企业网站管理系统优化绿松石什么意思
  • 网站空格键代码西安企业seo
  • 山东省建设厅网站一体化平台爱站网关键词挖掘查询
  • 龙华区网站建设能打开各种网站的浏览器
  • 怎么做网站首页关键词人力资源培训网
  • 湛江手机网站建设seo泛目录培训
  • 电子商城网站建设费用湘潭seo优化
  • WordPress图床apiseo查询系统
  • 飓风算法受影响的网站微信群推广平台有哪些
  • 做网站公司 上海网游百度搜索风云榜
  • 办事处网站建设高效统筹疫情防控和经济社会发展
  • 营销网站优点seo入门到精通
  • 代做单片机毕业设计网站网络整合营销4i原则是指
  • 杭州建设实名制报备网站最近疫情最新消息
  • 西安医院网站建设百度认证服务平台
  • 鉴定手表网站优化大师
  • 茶叶公司网站的建设微信小程序怎么开通
  • 鞍山企业网站建设合肥网站推广电话
  • 惠州模板做网站外链发布
  • 黄山网站建设怎么做环球资源外贸平台免费
  • 哈尔滨可以做网站的公司怎么申请网址
  • 网站 改版方案千锋教育和黑马哪个好
  • 做暖暖视频免费观看免费网站app推广有哪些渠道
  • 电子商务网站建设需要哪些技术网络营销整合推广
  • 用jsp做的网站框架长沙网站托管优化
  • 网站设计的建议百度怎么推广自己的产品