国外外贸网站有哪些,教育网站制作哪家服务好,网站开发模块化,中国菲律宾世预赛直播代码正常运行不会出问题#xff0c;但是遇到意外#xff0c;参数变量#xff0c;不符合要求#xff0c;发生意外#xff0c;代码终止运行代码中的异常处理好了#xff0c;代码就可以顺利的继续运行#xff01;3.3 最近我们遇到过的异常System.out.println(1/0);//java.l…代码正常运行不会出问题但是遇到意外参数变量不符合要求发生意外代码终止运行代码中的异常处理好了代码就可以顺利的继续运行3.3 最近我们遇到过的异常System.out.println(1/0);//java.lang.ArithmeticException:/ by zeroString str null;System.out.println(str.length());//java.lang.NullPointerExceptionint[] arr {1,2};System.out.println(arr[arr.length]);//java.lang.ArrayIndexOutOfBoundsException: 2SimpleDateFormat sdf new SimpleDateFormat(yyyy年MM月dd HH时mm分ss秒 E);sdf.parse(fsdfsdf);//ParseException5.ClassCastException:类型转换异常异常的分类------------------------------------------------------------------------------------------------------------异常的处理方式5.1 异常的处理方式自己捕获处理自己不处理抛出给别人5.2 自己处理[捕获异常] try-catch的语法结构及链式结构多异常处理方式语法try{//可能产生异常的代码}catch(捕获的异常类型 e){//e是形式参数//该异常捕获之后要做的操作}catch(捕获的异常类型 e){//e是形式参数//该异常捕获之后要做的操作}finally{//异常发生之后一定会执行到的语句块//①流资源关闭②释放锁}语句块执行顺序顺序执行进入异常捕获语句块如果产生异常执行catch捕获捕获到对应异常并且对应catch后面的代码块finally语句块一定会执行到前提前面语句没有执行System.exit(0)退出虚拟机5.2异常信息处理方式二抛出异常语法结构方法后面使用throws 需要抛出的异常类型示例void eat() throws ArithmeticException, CloneNotSupportedException{ SimpleDateFormat sdf new SimpleDateFormat(yyyy年MM月); //sdf.parse(fsdfsd);}抛出异常的注意事项①方法抛出运行时异常在方法头可以不用抛出异常②方法抛出编译时异常方法必须处理异常或者抛出同类异常或者抛出异常该异常的父类类型异常获得异常信息的方式异常捕获分析写多个捕获异常的语句块链式结构捕获多异常根据不同的异常做不同的处理捕获异常可以写异常的父类也可以捕获到对应子类的异常catch(捕获的异常类型 e)捕获的异常实际捕获一个异常对象该对象e可以在catch语句块直接使用获取信息的方式方式1System.out.println(e.getMessage());//e.getMessage()方式2System.out.println(e);//e.toString()方式3e.printStackTrace();//打印异常信息finally结构finally语句块try-catch语句块可以用写finally处理异常之后finally语句块一定会执行到finally语句块中一般用来处理什么内容关闭流资源[ IO流知识部分再了解 ]释放锁[ 线程知识部分再了解 ]注意 一般不要在finally里面写返回语句程序难理解finally语句之前如果有执行退出虚拟机也是不会执行finally语句块 public static void main(String[] args) { System.out.println(eat());; } static int eat(){ int i 10; try{ i 20; System.exit(0); System.out.println(1/0); return i; }catch(Exception e){ e.printStackTrace(); i 30; return i; }finally{ i 40; return i; } }主动向外 抛出【产生异常】方法内部主动创建异常抛出throw new SelfException(账户已经存在请重新输入);账号登陆示例static String[] arr {周周,黄黄}; public static void main(String[] args) throws SelfException { login(周周); } //主动产生异常向外抛出 static void login(String name) throws SelfException{ for(int i 0;iarr.length-1;i){ if(name.equals(arr[i])){ throw new SelfException(账户已经存在请重新输入);//自己在方法内部写一个异常抛出 } } System.out.println(恭喜你注册成功); }throws 和 throw的区别throws 处理异常在方法头抛出异常throw 开发代码存在以外的情况,自己主动抛出异常[产生异常]在方法内部 throw new NullPointException();自定义异常10.1 为什么需要自定义异常java中已经写好很多异常但不能满足开发中所有异常描述的需求所以需要自定义异常10.2 自定义异常的方式自定义类继承异常类参照其他异常通过Exception设置异常提示信息 public class SelfException extends Exception { SelfException(String msg){ super(msg); }}