java简单的异常_Java之异常的简单介绍

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

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

ddde23bac232b0383019447201989b89.png

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

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

异常就相当于一个人得了一点小感冒,把异常处理掉程序就可以继续执行。

第二种,Error是错误,这种情况下,程序就像生了一场大病,必须修改源代码,就像做手术,程序才可以继续执行。

dc8719c07820ea1ab962369a24aadc38.png

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

public class Demo05Exception {

public static void main(String args[]) throws ParseException {

//Exception:编译异常,进行编译Java程序出现问题

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//用来格式化日期

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

System.out.println(date);

}

}

throws ParseException利用虚拟机进行处理,异常会被直接抛出在控制台上:Exception in thread "main" java.text.ParseException: Unparseable date: "2019-122"。

c161d27ad539a428823e06718a873d27.png

异常处理方式二,代码如下:

public class Demo05Exception {

public static void main(String args[]) {

//Exception:编译异常,进行编译Java程序出现问题

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//用来格式化日期

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

try {

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

} catch (ParseException e) {

e.printStackTrace();

}

System.out.println(date);

System.out.println("把异常处理掉,后续程序继续执行");

}

}

用try catch处理异常代码之后,后续的程序会继续运行。

1795c637dadd9674d7ebca724e191ceb.png

异常二,RuntimeException:运行期异常,Java程序运行过程中出现问题。

代码如下:

public class Demo05Exception {

public static void main(String args[]) {

//RuntimeException:运行期异常,Java程序运行过程中出现的问题

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

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

System.out.println("把异常处理掉,后续程序继续执行");

}

}

异常:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4

异常处理,代码如下:

public class Demo05Exception {

public static void main(String args[]) {

//RuntimeException:运行期异常,Java程序运行过程中出现的问题

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

try {

//可能会出现异常的代码

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

}catch(Exception e){

//异常的处理逻辑

System.out.println(e);

}

System.out.println("把异常处理掉,后续程序继续执行");

}

}

fa0aceb05ae0c9c521bfd0e4f52e7cc8.png

第二种异常,Error错误:

public class Demo05Exception {

public static void main(String args[]) {

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

System.out.println("把异常处理掉,后续程序继续执行");

}

}

运行结果:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space,数组长度溢出,需要对代码进行处理。

关于Java中的异常小编就先说到这里,主要有两种,一种是Exception,编译期异常,进行编译Java程序出现的问题,其下有一个子类RuntimeException,运行期异常,这些异常经过一些简单的处理之后程序是可以运行的。还有一种是报错Error,这种需要修改源代码。希望这篇文章可以帮到大家,也欢迎各位小伙伴补充和纠错。

图片来自网络,如有侵权,请联系作者删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值