异常处理机制Try……Catch与Throws ╰半夏微凉° 2022-06-18 11:48 139阅读 0赞 #### 异常处理机制Try……Catch与Throws #### try { //可能存在异常的代码块 } catch (UserException e) { e.printStackTrace(); } 这种处理异常的方式是程序自身捕获异常,自己消化了异常,虚拟机不知道错误的存在,虚拟机不会停止运行,但是该方法停止了 Throws 的处理方式是把错误抛给虚拟机,方法自身没问题,虚拟机会异常停止 打个不太恰当的比方: boss交给你一个任务,当你遇到问题是,Try……Catch就是自己解决;Throws就是把问题报告给boss,自己一边凉快去;采用前者的结果是升职加薪,后者嘛……卷铺盖走人吧! **举个栗子** 定义一个自定义异常(UserException.java) package com.hk.spring.exception; public class UserException extends Exception { public UserException() { super(); } public UserException(String message) { super(message); } } 定义一个上诉异常的子异常(UserNameException.java) package com.hk.spring.exception; public class UserNameException extends UserException { public UserNameException() { super(); // TODO Auto-generated constructor stub } public UserNameException(String message) { super(message); // TODO Auto-generated constructor stub } } 再定义一个子异常(UserPasswordException.java) package com.hk.spring.exception; public class UserPasswordException extends UserException { public UserPasswordException() { super(); // TODO Auto-generated constructor stub } public UserPasswordException(String message) { super(message); // TODO Auto-generated constructor stub } } 业务类(SomeService.java) package com.hk.spring.exception; public class SomeService { public boolean check(String username,String password) throws UserException{ if("浪丶荡".equals(username.trim())){ throw new UserNameException("用户名有误"); } if("浪丶荡".equals(password.trim())){ throw new UserPasswordException("密码有误"); } return true; } } 检测类(MyTest.java) package com.hk.spring.exception; import org.junit.Test; public class Mytest { private SomeService service = new SomeService(); @Test public void testTryCatch(){ try { service.check("浪丶荡", "浪丶荡"); } catch (UserException e) { e.printStackTrace(); } } @Test public void testThrows() throws UserException{ service.check("浪丶荡", "浪丶荡"); } } **testTryCatch的结果** ![这里写图片描述][SouthEast] **可以看出,程序没有错误,但是控制台报出了错误** **testThrows结果** ![这里写图片描述][SouthEast 1] **程序有错误,程序异常结束!!!但是控制台没有报出异常** [SouthEast]: /images/20220618/8be6cec71d484229a8cab6cb424e0c84.png [SouthEast 1]: /images/20220618/276d7ba282894af59bec41c941459a54.png
相关 Java异常处理机制:使用throws关键字示例 在Java中,当我们编写可能会抛出异常的方法时,我们可以使用`throws`关键字来声明这个方法可能产生的异常。 下面是一个简单的例子,我们定义一个计算阶乘的方法,但阶乘操作 ﹏ヽ暗。殇╰゛Y/ 2024年09月11日 22:00/ 0 赞/ 19 阅读
相关 throws异常处理 throw 和 throws在异常处理中,throw 是人为的抛出异常一般要出现在try\{块中\}被catch捕获。 throws 一般出现在方法声明之后,表示当前方法中有 小咪咪/ 2024年03月26日 12:53/ 0 赞/ 41 阅读
相关 用Go语言异常机制模拟TryCatch异常捕捉! 有的同学看到[Go和TryCatch][Go_TryCatch]一起出现,心里可能会说,难道Go语言升级了,加入了try…catch语句。哈哈,其实Go语言从创建之初就没打算加 灰太狼/ 2023年01月20日 14:58/ 0 赞/ 242 阅读
相关 异常机制及throw与throws的区别 (z) 异常机制及throw与throws的区别 (z) 参考文章: [(1)异常机制及throw与throws的区别 (z)][1_throw_throws_ _z] (2)h 水深无声/ 2022年09月09日 15:49/ 0 赞/ 106 阅读
相关 Java中处理异常throw和throws 对于java初学者学会管理自己代码中的异常情况出现很重要,所以今天就讲讲异常处理。对于异常,大家会想到try,catch,finally,throw,throws这些关键字。 叁歲伎倆/ 2022年07月12日 03:26/ 0 赞/ 171 阅读
相关 Java中处理异常throw和throws 对于java初学者学会管理自己代码中的异常情况出现很重要,所以今天就讲讲异常处理。对于异常,大家会想到try,catch,finally,throw,throws这些关键字。 快来打我*/ 2022年07月12日 03:26/ 0 赞/ 171 阅读
相关 异常处理机制Try……Catch与Throws 异常处理机制Try……Catch与Throws try { //可能存在异常的代码块 } catch (UserException e) { e.printSta ╰半夏微凉°/ 2022年06月18日 11:48/ 0 赞/ 140 阅读
相关 用Go语言异常机制模拟TryCatch异常捕捉 有的同学看到Go和TryCatch一起出现,心里可能会说,难道Go语言升级了,加入了try…catch语句。哈哈,其实Go语言从创建之初就没打算加入try…catch语句,因为 た 入场券/ 2022年01月30日 18:21/ 0 赞/ 264 阅读
相关 java处理异常的机制关键字为throw和throws 在异常处理的过程中,throws和throw的区别是? throws:是在方法上对一个方法进行声明,而不进行处理,而是向上传,谁调用谁处理. throw:是在具体的抛出一个 ﹏ヽ暗。殇╰゛Y/ 2021年11月11日 04:16/ 0 赞/ 258 阅读
还没有评论,来说两句吧...