异常处理 5.1Java异常处理的基础知识 5.1.1错误与异常 5.1.1异常处理机制 1抛出异常2捕获异常3.异常处理的类层次 52异常类的产生、捕获与处理 53异常的分类 54物出异常 55自定义异常类
异常处理 • 5.1 Java异常处理的基础知识 5.1.1 错误与异常 5.1.1 异常处理机制 1.抛出异常 2.捕获异常 3.异常处理的类层次 • 5.2 异常类的产生、捕获与处理 • 5.3 异常的分类 • 5.4 抛出异常 • 5.5 自定义异常类
5,2异常类的产生、捕获与处理 1异常的产生 2使用try- catch- finally语句捕获与处理异常 3. Exception异常类的方法 public class Try l public static void main(String args) int i=0 inta={5,6,7,8} for(i=0;1<5;i++) System. out printIn ("a[++=+) ystem out. print("3/0=+(3/0
5.2 异常类的产生、捕获与处理 1.异常的产生 2.使用try-catch-finally语句捕获与处理异常 3. Exception异常类的方法 public class Try1 { public static void main (String args[]) { int i=0; int a[] = {5,6,7,8}; for(i=0;i<5;i++) System.out.println(" a["+i+"]="+a[i]); System.out.print("3/0="+(3/0)); } }
ArraylndexoutofBounds exception D: myiava>javac Try l java D: myjava>java Try l a[0]=5 a a21=7 a[3]8 Exception in thread"main"java. lang. ArraylndexoutofBoundsException at Try l. main(Try l java: 8) D: myjava>javac Try1 java D: myjava>java Tryl Exception in thread"main"java. lang Arithmetic Exception: /by zero at Tryl. main(try l java: 9)
ArrayIndexOutOfBoundsException D:\myjava>javac Try1.java D:\myjava>java Try1 a[0]=5 a[1]=6 a[2]=7 a[3]=8 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException at Try1.main(Try1.java:8) D:\myjava>javac Try1.java D:\myjava>java Try1 Exception in thread "main" java.lang.ArithmeticException: / by zero at Try1.main(try1.java:9)
使用 try-catch- finally语句捕获与 处理异常 <语句1> catch(Exception Type e) <语句2> finally <语句3
使用try-catch-finally语句捕获与 处理异常 try { <语句1> } catch(ExceptionType e) { <语句2> } finally { <语句3> }
public class Trv2 i public static void main(String args) i int i=0 inta={5,6,78} for(i=0,1<5;i++) i System. out. print("a[+i+]+i+=+(ali) catch(ArrayIndexOutofBounds Exception System.out. print'"捕获数组下标越界异常!"), catch(Arithmetic Exception e System. out. print("捕获算术异常!") catch(Exception e) System. out. print("捕获"+e: getMessageo+"异常!") ∥l示异常信息 finally System. out printIn(" finally F="+i);捕获算术异常! finally I==0 a[11=6 finally F=I a2)/2=3 finally 1=2 System. out. println("继续!"), a3/3=2 finally 1=3 捕获数组下标越界异常! finally i=4 继续
public class Try2 { public static void main (String args[]) { int i=0; int a[] = {5,6,7,8}; for(i=0;i<5;i++) { try { System.out.print("a["+i+"]/"+i+"="+(a[i]/i)); } catch(ArrayIndexOutOfBoundsException e) { System.out.print("捕获数组下标越界异常!"); } catch(ArithmeticException e) {System.out.print("捕获算术异常!"); } catch(Exception e) { System.out.print("捕获"+e.getMessage()+"异常!"); } //显示异常信息 finally { System.out.println(" finally i="+i); } } System.out.println("继续!"); } } 捕获算术异常! finally i=0 a[1]/1=6 finally i=1 a[2]/2=3 finally i=2 a[3]/3=2 finally i=3 捕获数组下标越界异常! finally i=4 继续!