JAVA笔记10

张开发
2026/4/8 20:49:04 15 分钟阅读

分享文章

JAVA笔记10
异常机制什么是异常异常指程序运行中出现的不期而至的各种状况异常发生在程序运行期间它影响了正常的程序执行流程packagecom.exception;publicclassDemo01{publicstaticvoidmain(String[]args){newDemo01().a();}publicvoida(){b();}publicvoidb(){a();}}packagecom.exception;publicclassDemo01{publicstaticvoidmain(String[]args){System.out.println(1/0);}}简单分类检查性异常最具代表性异常是用户错误或问题引起的异常运行时异常与检测性异常相反运行时异常可以在编译时被忽略因为程序员能避免到错误ERROR错误不是异常异常处理框架思想Error和Exception的区别Error通常是灾难性的致命的错误是程序无法控制和处理的当出现这些异常时Java虚拟机JVM一般会选择终止线程Exception通常情况下是可以被程序处理的并且在程序中应该尽可能的处理这些异常异常处理机制抛出异常捕获异常异常处理5个关键字try,catch,finally,throw,throwspackagecom.exception;publicclassTest{publicstaticvoidmain(String[]args){inta1;intb0;//假设要捕获多个异常从小到大捕获try{//try 监控区域System.out.println(a/b);}catch(ArithmeticExceptione){//catch(想要捕获的异常类型) 捕获异常System.out.println(除数不能为0);}catch(Exceptione){System.out.println(其他异常);}catch(Throwablet){System.out.println(Throwable);}finally{//finally 无论是否发生异常,都会执行System.out.println(finally);}//try 和 catch 必须要有finally 可以没有,假设IO,资源关闭}}packagecom.exception;publicclassTest1{publicstaticvoidmain(String[]args){// int a 1;// int b 0;// try{// if(b0){//主动的抛出异常一般用在方法中// throw new ArithmeticException();// }// System.out.println(a/b);// }catch (ArithmeticException e){// System.out.println(除数);// }try{newTest1().test(1,0);}catch(ArithmeticExceptione){e.printStackTrace();}}//假设在方法中处理不了这个异常方法上抛出异常publicvoidtest(inta,intb)throwsArithmeticException{if(b0){thrownewArithmeticException();//主动抛出异常一般在方法中使用}System.out.println(a/b);}}自定义异常(了解)继承Exception类步骤创建自定义异常类在方法中通过throw关键字抛出异常对象用try-catch语句捕获并处理在出现异常方法的调用者中捕获并处理异常packagecom.exception.demo02;publicclassMyExceptionextendsException{//传递数字10;抛出异常privateintdetail;publicMyException(intdetail){this.detaildetail;}//toString方法,打印信息异常的打印信息OverridepublicStringtoString(){returnMyException{detaildetail};}}packagecom.exception.demo02;publicclassTest{//可能会存在异常的方法staticvoidtest(inta)throwsMyException{System.out.println(传递的数字是a);if(a10){thrownewMyException(a);//抛出异常}System.out.println(OK);}//调用方法publicstaticvoidmain(String[]args){try{test(11);}catch(MyExceptione){System.out.println(MyException异常e);}}}异常体系结构

更多文章