为了账号安全,请及时绑定邮箱和手机立即绑定

Java之异常的简单介绍

标签:
Java

  各位小伙伴们我们好,这次小编要介绍的是Java当中的异常,首要咱们来介绍一下反常的概念,反常是指程序在履行过程中呈现的非正常情况,最终导致JVM的非正常中止。

  在Java等面向目标的编程语言中,反常本身是一个类,发生反常就是创建反常目标并抛出了一个反常目标,反常指的并不是语法错了,语法错了编译不通过,不会发生字节码文件程序不会运转。Java处理反常的方法是中断处理。

  在反常体系中,反常的根类是java.lang.Throwable,其下有两个子类:java.lang.Error与java.lang.Exception,往常所说的反常指java.lang.Exception。反常机制其实是协助咱们找到程序中的问题。

  Java中反常有两种,一种是Exception,编译期反常,进行编译Java程序呈现的问题,其下有一个子类RuntimeException,运转期反常,Java程序运转过程中呈现的问题。

  反常就相当于一个人得了一点小伤风,把反常处理掉程序就能够持续履行。

  第二种,Error是过错,这种情况下,程序就像生了一场大病,必须修正源代码,就像做手术,程序才能够持续履行。

  反常的处理一,代码如下:

  publicclassDemo05Exception{

  publicstaticvoidmain(Stringargs[])throwsParseException{

  //Exception:编译反常,进行编译Java程序呈现问题

  SimpleDateFormatsdf=newSimpleDateFormat("https://zzzjtd.com/");//用来格式化日期

  Datedate=sdf.parse("2019-122");//把字符串日期,解析为Date日期

  System.out.println(date);

  }

  }

  throwsParseException利用虚拟机进行处理,反常会被直接抛出在控制台上:Exceptioninthread"main"java.text.ParseException:Unparseabledate:"2019-122"。

  反常处理方法二,代码如下:

  publicclassDemo05Exception{

  publicstaticvoidmain(Stringargs[]){

  //Exception:编译反常,进行编译Java程序呈现问题

  SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");//用来格式化日期

  Datedate=null;//把字符串日期,解析为Date日期

  try{

  date=sdf.parse("2019-122");

  }catch(ParseExceptione){

  e.printStackTrace();

  }

  System.out.println(date);

  System.out.println("把反常处理掉,后续程序持续履行");

  }

  }

  用trycatch处理反常代码之后,后续的程序会持续运转。

  反常二,RuntimeException:运转期反常,Java程序运转过程中呈现问题。

  代码如下:

  publicclassDemo05Exception{

  publicstaticvoidmain(Stringargs[]){

  //RuntimeException:运转期反常,Java程序运转过程中呈现的问题

  char[]arr={'a','b','c'};

  System.out.println(arr[4]);

  System.out.println("把反常处理掉,后续程序持续履行");

  }

  }

  反常:Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException:4

  反常处理,代码如下:

  publicclassDemo05Exception{

  publicstaticvoidmain(Stringargs[]){

  //RuntimeException:运转期反常,Java程序运转过程中呈现的问题

  char[]arr={'a','b','c'};

  try{

  //可能会呈现反常的代码

  System.out.println(arr[4]);

  }catch(Exceptione){

  //反常的处理逻辑

  System.out.println(e);

  }

  System.out.println("把反常处理掉,后续程序持续履行");

  }

  }

  第二种反常,Error过错:

  publicclassDemo05Exception{

  publicstaticvoidmain(Stringargs[]){

  int[]arr=newint[1024*1024*1024];

  System.out.println("把反常处理掉,后续程序持续履行");

  }

  }

  运转成果:Exceptioninthread"main"java.lang.OutOfMemoryError:Javaheapspace,数组长度溢出,需求对代码进行处理。

  关于Java中的反常小编就先提到这里,主要有两种,一种是Exception,编译期反常,进行编译Java程序呈现的问题,其下有一个子类RuntimeException,运转期反常,这些反常通过一些简单的处理之后程序是能够运转的。还有一种是报错Error,这种需求修正源代码。期望这篇文章能够帮到我们,也欢迎各位小伙伴弥补和纠错。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消