栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java异常处理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java异常处理

1.概念:

在我们的程序运行时经常会出现一些操作会使我们的程序无法继续运行下去,用户的非正常输入或者程序本身逻辑上的错误等,这些都会导致我们程序无法继续进行下去,但我们想要这个程序继续执行,就需要进行处理。

     1.1.在java中,运行时的错误会作为异常抛出,异常是一种对象,为了让程序继续进行,我们就需要处理这个异常,让我们的程序继续进行或者按照我们的想法停止。
    1.2.异常作为一种对象,让我们来看看它的类型,异常类在java.lang.Throwable.其中Error类型的属于jvm虚拟机的错误无法通过人为的程序处理,而Exception类别的你可以进行操作,也可以叫异常


2.异常处理:

    2.1.实现:

  1. 声明一个异常
  2. 抛出一个异常
  3. 捕获一个异常

声明一个异常就是在你觉得可能会有异常出现的地方显示异常,就像一个账户密码输入,用户可能输入负数这时不可能让程序停止就要显示必检异常(非必检异常RuntimeException和子类就不用显示)。

 void method()throws Exception1,Exception2···{
 }

然后抛出异常(可以自己写一个异常类抛出来)(声明是用throws,抛出是用throw)

throw new xxxException();

xxxException ex=new xxxException();
throw ex;

每个异常类都有两个以上的构造方法(用于描述异常),一种就是带有String参数的构造方法来描述,该String参数被称为异常消息,可以用getMessage()获取。异常中的如图:

throw new xxxException("this is a exception");

捕获异常我们通常用try-catch来捕获:

try {
		 int vaule=30;
		 Test ts=null;
		 
		 
		 ts.hashCode();
		 if(vaule<40) {
			 int i=1;
			 int j=0;
	      
			 i=i/j;
		 }
		 
		 }catch(NullPointerException ex) {
			 System.out.println(ex.getMessage());
		 }
	     catch(Exception ex) {
			 System.out.println(ex.getMessage());
		 }

最后还有一个还可以加个fianlly{ },fianlly中的语句是必须执行的(除了jvm中断,System.exit()导致程序中止)

try{
 statement1;
}catch(Exception ex){
  statement2;
}fially{
 statement3;
}

3.重抛异常和自定义异常

    3.1.重抛异常
catch块在捕获异常后无法处理就重新抛出一个新的异常或者重新抛出这个异常给更上一层次的处理器处理

try{
 statement1;
}catch(Exception ex){
  statement2;
  throw ex
}
static void method1(){
try{
  method2();
  }
}catch(Exception ex){//接受从method2抛出

}
static viod method2(){
try{
   statement;//产生一个异常
}catch(Exception ex){//无法处理
    throw new Exception();//抛给method1
}

    3.2.自定义异常:
就是通过继承于java.lang.Exception来重写方法变成自己所要的,不过不太建议自定义。


异常处理可以很好的帮助程序运行和代码改正。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/886073.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号