exception类型 java_程序员小白入门,Java如何选择异常类型?
1. 如何选择异常
从个人开发经验来看,如果在一个应用中,需要开发一个方法(如某个功能的service方法),这个方法如果中间可能出现异常,那么你需要考虑这个异常出现之后是否调用者可以处理,并且你是否希望调用者进行处理。
如果调用者可以处理,并且你也希望调用者进行处理,那么就要抛出受检异常,提醒调用者在使用你的方法时,考虑到如果抛出异常时如果进行处理。
相似的,如果在写某个方法时,你认为这是个偶然异常,理论上说,你觉得运行时可能会碰到什么问题,而这些问题也许不是必然发生的,也不需要调用者显示的通过异常来判断业务流程操作的,那么这时就可以使用一个RuntimeException这样的非受检异常。
2. 应该选用哪种异常
RuntimeException异常和受检异常之间的区别就是:是否强制要求调用者必须处理此异常,如果强制要求调用者必须进行处理,那么就使用受检异常,否则就选择非受检异常(RuntimeException)。一般来讲,如果没有特殊的要求,我们建议使用RuntimeException异常。
3. 什么时候才需要抛异常
首先我们需要了解一个问题,什么时候才需要抛异常?异常的设计是方便给开发者使用的,但不是乱用的。
其实这个问题很简单,如果你觉得某些”问题”解决不了了,那么你就可以抛出异常了。比如,你在写一个service,其中在写到某段代码处,你发现可能会产生问题,那么就请抛出异常吧,相信我,你此时抛出异常将是一个最佳时机。
听说给好内容点赞,知乎就会继续给你推荐相关的优质回答,再也不怕没学习素材了~~
exception类型 java_程序员小白入门,Java如何选择异常类型?相关推荐
- 菜鸟教程重构版,程序员小白入门编程必备神器
目前网络上已经有不少相关平台了,内容也基本都一样,但是随着各个平台的升级,功能开始不存粹了,有的是植入了第三方的广告,有的是过分的炫酷,忽略了内容本身属性. 基于这样一种需求,也为了方便自己可以拿来即 ...
- 编程入门不知道怎么学?程序员小白来给你支招
最近有很多朋友私信小编,说想学编程,但是自己基础不好,很多东西都不会,看视频,遇到难点,也不知道怎么解决,甚至有时候竟为了找错误,花了一上午或一下午的时间,作为过来人的小编,确实很明白这些朋友的心情, ...
- 网络游戏程序员新手入门 [转]
网络游戏程序员新手入门 [转] 原文地址: http://job.17173.com/content/2008-12-15/20081215172107441,1.shtml 游戏开发流程和部分分工 ...
- 转载:一位资深程序员大牛给予Java初学者的学习路线建议
一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来 ...
- 什么C++程序员,什么Java程序员
还是那句话,程序员就是程序员,写得出程序就是程序员.程序员不要在自己脑门上加太多修饰,什么C++程序员,什么Java程序员,什么Windows程序员,什么Linux程序员,这些加了修饰的程序员,其实不 ...
- 谁说大龄程序员不能学 Java?
在技术变迁的路途中,有人说要活到老学到老,才能不被淘汰,但也有的人表示,科技圈中,程序员们吃的都是青春饭. 年龄,是否真的是程序员们一道过不去的坎?就技术本身而言,究竟是技术挑人还是人挑技术? 作者 ...
- (转)一位资深程序员大牛给予Java初学者的学习路线建议
一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来 ...
- 外国程序员整理的Java资料大全
2019独角兽企业重金招聘Python工程师标准>>> 外国程序员整理的Java资料大全 博客分类: java 构建 这里搜集了用来构建应用程序的工具. Apache Maven:M ...
- java程序员的浪漫代码_专属于程序员的浪漫-Java输出动态闪图iloveyou
代码测试可用,运行结果非常辣眼睛,有种二十一世纪初流行于广大中小学生之间的失落非主流的感觉! 还是比较有参考价值的,获取当前日期时间,日期类格式化,图形界面的开发等. java awt实现小程序动态闪 ...
- i love java怎么写编程_专属于程序员的浪漫-Java输出动态闪图iloveyou
代码测试可用使用的,运行结果非常辣眼睛,有种二十一世纪初流行于广大中小学生之间的失落非主流的感觉! 还是比较有参考网上卖的,获取当前日期时间,日期类格式化,图形界面的开发等. java awt实现小程 ...
最新文章
- Python图像处理介绍--彩色图像的直方图处理
- BetaBot 木马分析
- 可变参数__VA_ARGS__使用和va_list使用小结
- java导出mysql数据库失败_利用Java进行MySql数据库的导入和导出
- Python 创建随机mac地址(单播、组播)
- 拼夕夕订单超时未支付自动关闭实现方案!
- java异常应用_Java异常处理机制 —— 深入理解与开发应用
- Centos如何通过yum安装php7
- 2008社工新书《黑客社会工程学攻击》
- jdk15不安装jre_弄懂 JRE、JDK、JVM 之间的区别与联系,你知道多少?
- Hybrid和Tagged Untagged理解
- 联想m7216更换墨粉流程图_联想M7216打印机更换墨后继续显示需更换
- 东芝打印机共享怎么设置_东芝2051C打印机怎么连接并扫描文件到电脑?
- 多维正态随机变量的条件概率密度函数推导
- FPGA实现贪吃蛇小游戏
- 【更新】关于VMware虚拟机无法正常获取IP地址问题的解决方法及思路
- IDEA运行java出现“不支持发行版本XX”
- Centos 6或7系统 从Kernel panic – not syncing: Attempted to kill init 故障引发的一系列操作
- 计算机网络第4章(网际层)
- 计算机无法预览文件,SolidWorks文件不能预览的解决方法 | 我爱分享网
热门文章
- 远程调试阿里云上的NodeJS Docker应用
- 驱动lx4f120h,头文件配置,没有完全吃透,望指点
- 尽量用iterator代替const_iterator
- 如何优雅地进行错误处理(clean code阅读笔记之六)
- JUC锁框架——重入锁ReentrantLock
- linux任务计划、chkconfig工具、systemd、unit和target介绍
- wordpress如何防止发布文章时候自动清除P、br换行标签
- eclipse不能自动编译生成class文件的解决办法
- 使用w3m访问页面执行函数
- MQTT的学习研究(十)【转】mosquitto——一个开源的mqtt代理