当前位置: 首页 > news >正文

Java的try-catch异常处理

说明:

1)Java提供try和catch块来处理异常,try块用于包含可能出错的代码。catch块用于处理try块中发生的异常。可以根据需要在程序中有多个数量的try-chtch块

2)基本语法:

try{

//可疑代码

//将异常生成对应的异常对象,传递给catch块

}catch(异常){

//对异常的处理

}

//如果没有finally,也是允许的

快速入门案例:

https://blog.csdn.net/2501_92828095/article/details/153975538?fromshare=blogdetail&sharetype=blogdetail&sharerId=153975538&sharerefer=PC&sharesource=2501_92828095&sharefrom=from_linkhttps://blog.csdn.net/2501_92828095/article/details/153975538?fromshare=blogdetail&sharetype=blogdetail&sharerId=153975538&sharerefer=PC&sharesource=2501_92828095&sharefrom=from_link注意事项:

1)如果异常发生了,则异常后面发生的代码不会执行,直接进入到catch块。

2)如果异常没有发生,则顺序执行try的代码块,不会进入到catch。

3)如果希望不管是否发生异常,都执行某段代码(比如关闭链接,释放资源等)                                  则使用如下代码 - finally{ }

public class Main {public static void main(String[] args) {// 如果异常发生了,则异常后面发生的代码不会执行,直接进入到catch块// 如果异常没有发生,则顺序执行try的代码块,不会进入到catch// 如果希望不管是否发生异常,都执行某段代码(比如关闭链接,释放资源等)//                                    则使用如下代码 - finally{ }// ctrl + alt + ttry {String str = "泥嚎"; // 如果是纯数字,则catch块并不会执行int a = Integer.parseInt(str);System.out.println("数字" + a);} catch (NumberFormatException e) {System.out.println("异常信息=" + e.getMessage());} finally {System.out.println("finally代码块被执行。。。。");//无论是否有异常,finally都会被执行}// 输出异常信息 = “泥嚎”System.out.println("程序继续。。。。"); // 语句被执行}
}

4)可以有多个catch语句,捕获不同的异常(进行不同的业务处理),要求父类异常在后,子类异常在前,如(Exception 在后,NullPointerException在前),如果发生异常,只会匹配一个catch

public class Main {public static void main(String[] args) {//可以有多个catch语句,捕获不同的异常(进行不同的业务处理),//要求父类异常在后,子类异常在前,如(Exception 在后,NullPointerException在前),//如果发生异常,只会匹配一个catch//如果try代码块可能有多个异常,可以使用多个catch分别捕获不同的异常,相应处理try{Person person = new Person();person = null;System.out.println(person.getName());//空指针异常int n1 = 10;int n2 = 0;int res = n1 / n2;//算术异常}catch(NullPointerException e){System.out.println("空指针异常" + e.getMessage());}catch(ArithmeticException e){System.out.println("算术异常" + e.getMessage());}catch(Exception e){System.out.println(e.getMessage());}finally{}}
}
class Person{private String name = "jack";public String getName(){return name;}
}

5)可以进行try-finally配合使用,这种用法相当于没有捕获异常,因此程序会直接崩掉                       应用场景:执行一段代码,不管程序是否发生异常,就必须执行某个业务逻辑

try{

//代码.....

}

finally{        //总是执行

}

public class Main {public static void main(String[] args) {try {int n1 = 10;int n2 = 0;System.out.println(n1 / n2);} finally {System.out.println("执行了finally......");}System.out.println("程序继续执行........");}
}

小结:

1)如果没有出现异常,则执行try块中所有语句,不执行catch块中语句,如果有finally,最后还需要执行finally里面的语句

2)如果出现异常,则try块中异常发生后,try块中剩下的语句不再执行,将执行catch块中的语句,如果有finally,最后还需要执行finally里面的语句

http://www.dtcms.com/a/538650.html

相关文章:

  • 厦门建设网站公司做企业网站的轻量级cms
  • 述建设一个网站的具体步骤建筑行业信息平台
  • 泰安网站建设广告工地用木模板尺寸
  • 东莞 营销网站wordpress4.7优化
  • 饮食网站模板河南省建设厅厅长
  • 网站付费推广方式wordpress 仿百度
  • 开通微网站浙江做网站的公司
  • 张家界seo网站优化涉密资质 网站建设
  • 龙岗南联网站建设东莞seo项目优化方法
  • 青岛网站建设有限公司windows主机 wordpress 防盗链
  • asp企业建站系统网站悬浮广告代码
  • wordpress站群软件南阳网站推广外包
  • 四川平昌县建设局网站wordpress 4.8 语言
  • 网站开发工程师职位要求公司策划书模板
  • 浙江杭州下沙做网站建设银行春招报名网站
  • 邯郸网站制作建设网站代理在线
  • 吉林学校网站建设wordpress分类信息插件
  • 怎么做网站发布产品运维工程师是干嘛的
  • STL 容器:stack
  • 网站美化公司如何下载网站模板
  • 做外贸营销网站网站被封了怎么办
  • 【Linux】HTTP协议
  • 建设网站群的意义2345网址导航设置
  • 做微信网站支付需要什么信息表国外域名 网站备案
  • 网站版面网页设计素材音乐
  • 做网站图片如何压缩图片个人备案网站可以做产品推广
  • 建设一个充电站需要多少钱网站建设需要域名
  • 海南seo快速排名优化多少钱西安seo管理
  • 100个万能网站网站建设计划时间节点
  • 网站建设和优化的步骤在线设计房屋装修