java异常处理的过程(第25天|Java入门有野,异常处理)java基础 / Java Web开发中的异常处理...

wufei123 发布于 2024-07-02 阅读(6)

无论你是程序员新手还是老手,在开发软件的过程中,都会或多或少地遇到问题,不说别的,就拿我前几天租房这件事来说,一遇到社会怪胎,异常就出现了,生活当中都避免有异常出现,更何况Java程序不过遇到问题不用怕,想办法解决就好了。

大多数编程语言都会提供对异常问题的捕捉方法,Java也不例外25.1 内置异常类为了方便处理异常,Java在java.lang标准包中内置了异常类所有的异常类是从java.lang.Exception类继承的子类。

程序异常用Exception或其子类进行捕捉,运行时环境发生的错误,用Error捕捉

捕获到对应的异常之后,可用异常类提供的方法,输出相关错误信息。

25.2 异常捕获相较于Python,Swift(开发iOS)编程语言,Java捕获异常的语法,要更友好和简单,你主要将有可能发生异常的代码,放在try/catch代码块即可,其中catch可以出现多次。

如果没有异常,就完整执行完try里面代码,否则会执行catch里的当然,在某些情况下,有一种需求,那就是无论是否有异常都要执行的代码,如释放资源,那你将其放在finally里就好了/* * 异常处理 */。

publicclassTestClass { publicstaticvoidmain(String[] args) { try { int[] array = {

1, 2, 3, 4, 5, 6}; //下标从零开始,访问6会出现下标越界异常int index = array[6]; //除以0异常float resut =

3 / 0; } catch (IndexOutOfBoundsException i) { i.printStackTrace(); } catch

(ArithmeticException a) { System.out.println("运算异常:" + a.getMessage()); } finally

{ System.out.println("无论是否有异常都会执行."); } } }输出结果java.lang.ArrayIndexOutOfBoundsException: 6

at TestClass.main(TestClass.java:9)无论是否有异常都会执行.25.3 抛出异常如果在每个会出现异常的方法中,都用try/catch处理的话,一来工作量大,二来调用方将不知如何处理。

为此,Java提供了异常抛出功能在方法尾部抛出异常,用throws关键字,在方法体里抛出异常,用throw关键字/* * 异常处理 */publicclassTestClass{ public

voiddeposit(double amount)throws Exception { //抛出异常thrownew Exception(); } }25.4 自定义异常为了统一规范异常处理,大一些的开发团队,会自定义异常。

像Windows系统出现异常时,会出现一个异常码你用异常码就可以上网查找其详细信息,找出解决方案在Java中自定义异常,继承Exception类即可classGenderExceptionextends

Exception{ publicGenderException(String msg){ super(msg); } } classTeacher{ private

String sex; public String getSex(){ return sex; } publicvoidsetSex(String sex)

throws Exception { if ("男".equals(sex) || "女".equals(sex)) { this.sex = sex; }

else { thrownew GenderException("性别必须是男或者女."); } } } publicclassTestClass{

publicstaticvoidmain(String[] args){ Teacher t = new Teacher(); try { t.setSex(

"Male"); } catch (Exception e) { System.out.println("设置性别出错了."); //打印异常信息

e.printStackTrace(); } } }输出结果设置性别出错了.GenderException: 性别必须是男或者女.at Teacher.setSex(TestClass.java:18)

at TestClass.main(TestClass.java:27)好了,有关Java异常处理的内容就这么多了,如果你觉得老陈这样讲还可以的话,你就转发和点赞,你的轻轻一点,就是对老陈继续创作的最大鼓励和支持。

一个当了10年技术总监的老家伙,分享多年的编程经验想学编程的朋友,可关注今日头条:老陈说编程我在分享Python,前端、Java和App方面的干货关注我,没错的#Java##APP##程序员##Web#

#Spring#

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻3938