java面向对象2(21) 异常处理机制一【重点详解】
其他
2020-03-06 22:50:53
阅读次数: 0
异常处理机制
一.概述
异常处理机制:可以让Java程序变得更健壮
异常:执行中的不正常状态 程序如果直接遇到异常,默认强制停止程序,控制台打印异常信息 (出了什么异常,异常在第几行) |
二. 入门案例
/* * 异常处理机制入门: * */ public static void main(String[] args) { System.out.println(1); try { //尝试执行以下代码,如果没出错,正常执行,不执行catch //如果出错了,就停止try中代码,执行catch中的代码 int a = 1/0; } catch (Exception e) { System.out.println("try中代码出了问题,但是我在这里进行了捕获问题,处理了问题"); } System.out.println(2); System.out.println(3); } |
小结:
异常处理机制:try…catch机制 try:尝试执行 如果没有任何问题,正常执行,不会执行catch代码 如果出现问题,try中代码会强制停止,执行catch代码 |
强化练习:
/* * 2 * */ public static void main(String[] args) { //1、定义数组,所有元素值0 int[] arr = new int[3]; //定义计数变量 int num = 0; //2、遍历数组元素 for (int i = 0; i <= arr.length+1; i++) { try { //可能存在索引越界异常,进行try catch System.out.println(i+"----"+arr[i]); } catch (Exception e) { //出现一次异常,计数+1 num++; } } //展示计数 System.out.println("出现异常的次数:"+num); } |
小结:
异常处理机制:让Java程序变得更健壮 异常:执行中不正常情况 除0异常,空指针异常,索引越界的异常,栈内存溢出错误 如果没有异常处理机制,Java遇到异常默认: 强制停止程序,展示异常信息(异常名字,异常问题出在哪一行) Ctrl+alt+T try{ //把可能出现异常的代码放在这里 //尝试执行:没有问题,正常执行,不会执行catch中的代码 // 有问题,强制停止try中代码,立即执行catch中的代码 }catch(Exception e){ //捕获异常,并处理异常 } |
三. 进阶案例
/* * 进阶案例:捕获 栈内存溢出错误 * */ public static void main(String[] args) { try { run1(); } catch (Error e) { System.out.println("程序处理无限递归的栈内存溢出错误"); } System.out.println("递归执行结束"); } //无限递归,必然出错 public static void run1(){ run1(); } |
Exception:异常。 小问题 空指针异常,数组索引越界异常。
“程序员编写代码不当” 或 “程序执行时出现意外” 的小问题
Error:错误。 程序设计缺陷/程序中的不可挽回的大问题
程序编写设计时的缺陷引发的大问题。
四. 异常体系
new Throwable();
建议:Error不用try、catch,程序停止程序,修改大量代码
Exception用try、catch,catch捕获处理异常,让程序可以健壮继续执行
举例实用:
来源:站长平台
转载自www.cnblogs.com/1994july/p/12431400.html