您的位置:首页 > 编程语言 > Java开发

Java学习记录|异常处理

2020-03-28 20:14 127 查看

try-catch的简要介绍

开发环境出现Exception异常,代码不会往下继续执行,软件崩溃
解决办法:

  1. 避免异常的出现

比如加入判断

  1. 出现异常怎么办

异常处理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学院】

  • 点赞
  • 收藏
  • 分享
  • 文章举报
nanali_lili 发布了15 篇原创文章 · 获赞 0 · 访问量 261 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: