Java学习记录|异常处理
2020-03-28 20:14
127 查看
try-catch的简要介绍
开发环境出现Exception异常,代码不会往下继续执行,软件崩溃
解决办法:
- 避免异常的出现
比如加入判断
- 出现异常怎么办
异常处理try catch,把容易出错的代码放在try里面,catch用来捕捉异常
Java里面把所有的异常封装成exception类,所有异常类继承至exception
使用try-catch语句之后,try语句内部出现异常时,try内部之后的部分不会执行,但try之外的程序会继续执行;try语句内部正常运行时,catch语句不会执行
public static void main(String[] args) { try{ ArrayList al=new ArrayList(); System.out.print(al.get(0)); }catch(IndexOutOfBoundsException e){ e.printStackTrace(); } System.out.print("后面的程序"); }
其他语法的介绍
- 以下为例
问题:异常出现之后后面程序没有执行
public static void main(String[] args) { try{ ArrayList al=new ArrayList(); al.add(100);//只能放int类型的数据 al.add(12); al.add(122); al.add(32); for(int i=0;i<al.size();i++){ System.out.print((String)al.get(i));//这句有错误,不能强制转换成String类型,异常没有处理,因为后面程序没有进行 }//未处理原因:catch里面只捕捉了IndexOutOfBoundsException这个异常 }catch(IndexOutOfBoundsException e){ e.printStackTrace(); } System.out.println("后面的程序"); }
解决办法:
加一个catch
catch(ClassCastException e){ System.out.print("出现强制类型转换的异常"); }
结果:
“后面的程序”继续执行
Q:如何使用一个catch语句捕捉所有异常?
A :直接catch Exception
public static void main(String[] args) { try{ ArrayList al=new ArrayList(); al.add(100);//只能放int类型的数据 al.add(12); al.add(122); al.add(32); for(int i=0;i<al.size();i++){ System.out.print((String)al.get(i));//有错误,不能强制转换成String类型,异常没有处理,因为后面程序没有进行 }//未处理原因:catch里面只捕捉了IndexOutOfBoundsException这个异常 }catch(Exception e){ e.printStackTrace(); } System.out.println("后面的程序"); }
- finally语句
必须执行(不管try语句是否出现异常)
public static void main(String[] args) { try{ ArrayList al=new ArrayList(); al.add(100);//只能放int类型的数据 al.add(12); al.add(122); al.add(32); for(int i=0;i<al.size();i++){ System.out.print((String)al.get(i)); } }catch(Exception e){ e.printStackTrace(); }finally{ System.out.print("finally"); } System.out.println("后面的程序"); }
输出:
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at ch3.ExceptionDemo.main(ExceptionDemo.java:16) finally后面的程序
学习来源:【bilibili siki学院】
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- java学习记录,异常处理时为什么有些异常throw出去需要在函数头用throws声明,有些就不用
- 0905-2019学习记录(P369-P383)-Java异常处理+异常小项目Code
- JAVA 学习随笔记录 (六)异常处理
- 学习Java的异常处理 -- 2015-05-16记录
- 黑马程序员——Java异常处理学习笔记
- Java语言异常处理学习笔记
- Java学习之异常与异常处理
- 黑马程序员_java学习之异常处理
- JAVA学习--异常Exception的处理
- SpringMVC学习记录(三)--异常处理
- java异常处理机制学习
- Java学习笔记之异常的定义和处理
- Java学习资料-Java异常处理
- Android(java)学习笔记82:我们到底该如何处理异常?
- Java学习第10天(3):异常机制-多异常处理
- 【Java学习】Java异常-异常处理流程
- 【java学习之再遇异常处理】
- Java Web 学习笔记之十一:RestEasy统一处理异常
- Java编程思想学习(九) 异常处理
- 学习java异常处理笔记