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

JAVA异常处理

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

JAVA异常处理

java 中的异常处理
         在java中错误分为俩大类:Error和Exception 这两个类都是继承自Throwable
         Error :错误,无法通过异常处理解决,例如栈溢出
         Exception:异常 ,可以通过技术手段解决
        我们说的异常处理,指的时通过代码解决Exception对象
        
         Exception中分为运行异常和检查性(编译性)异常
         运行时异常是指编译期间没有问题,在运行时产生异常
         
         检查异常是指编译期发生异常
        大多数我们解决的都是检查性异常

处理方案
         1. try ...... catch  :立即处理异常
         2.在方法声明处通过throws关键字声明该方法中可能会产生的异常类型
         3.在方法体中,通过throw抛出异常

        方案 2和3是延时处理,那块调用该方法,就在那块处理

try {
			int a = 10 / 0;
			System.out.println(array[10]);
			//try中某一行代码发生异常就不再继续执行,而去执行对应的catch
			System.out.println("try中第二行代码");
		}catch(ArrayIndexOutOfBoundsException e) {
			//catch中的参数就是捕获的异常
			//我们在catch块中处理异常
			System.out.println("发生数组越界抛出的异常");
		}catch(ArithmeticException e) {
			System.out.println("发生算数异常");
			
			}

  如果上面的catch捕获到异常,那么系统认为异常被处理了可以继续向下执行
  如果没有捕获到或者没有使用try...catch发生异常就不能继续执行

final一般都是在最终块中做扫尾工作。例如关闭链接,存储控制

finally {
		//一般都是在最终块中做扫尾工作。例如关闭链接,存储控制
			System.out.println("无论有没有异常都能继续执行");
		}

  声明异常:并没有处理异常,只是告知调用者方法中可能会发生异常,可以声明多个异常
       如果声明的都是运行时异常,那么调用时,可以不用处理;如果声明的异常中有检查性异常,调用时必须处理

 当我们根据不同的环境要对异常进行不同的方式来处理,此时由于不能统一处理
  我们就只声明异常,在调用的地方通过try..catch进行不同的处理

public static void test() throws ArithmeticException,Exception{
			int a = 10 / 0;
		}
		public static void test2(String s) throws Exception{
			if(s == null) {
				//抛出异常对象 当方法执行到该行代码,底下的代码就不再执行
//				throw new NullPointerException();
				throw new Exception("发生异常");
			}
			System.out.println("s不是null");
}
}

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

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

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