本文不区分语言,只为记录一次有收获的面试。

面试官:什么情况下用到try-catch?
程序员:代码执行预料不到的情况,我会使用try-catch。
面试官:什么是预料不到的情况呢?
程序员:比如我要计算a除以b,但是b是变量,如果b等于0程序就会出错,所以我会将程序代码放在try中。
面试官:还有其他情况会遇到try-catch吗?
程序员:我会在上传文件时使用try-catch,之前做过一个网站有上传文件的功能,线下测试的时候没有问题,但是那个线上环境是一个仅有100M的虚拟空间,除了代码剩余的空间所剩无几,所以网站上线后没过多长时间上传文件就在catch中报错,空间不足。
面试官:还有其他场景会用到try-catch吗?
程序员:我还会在使用数据库事务的时候使用try-catch,如果事务执行成功就提交事务,如果事务执行失败就由catch提示错误并回滚事务。还有就是在使用curl方式访问其他网络地址的时候会用到,如果网络访问出错或者网络访问超时就在catch中抛出错误。还有就是之前写winfrom软件的时候调用摄像头和打印机,会使用try-catch。
面试官:那我可否归纳为当程序需要打开一个资源,使用完后需要关闭的情况下,需要使用try-catch。就想你上面说到的文件上传写入,数据库事务的提交,还有摄像头和打印机的使用,都是这种情况。
除了上面所说的情况,你还有其他场景会用到try-catch吗?
程序员:还有就是我的程序调用其他人写的程序接口的时候,我不敢保证别人的接口返回的都是约定好的返回值。所以如果接口返回约定好的返回值,那么try中的程序正常执行,如果意料之外catch抛出错误。

转载于:https://www.cnblogs.com/lts8989/p/5472142.html

什么情况下会用到try-catch相关推荐

  1. 有return的情况下try catch finally的执行顺序

    前言,在写java 异常捕捉块的时候,有时候用到return,有时有各种情况,不仔细分析的化就会出现意想不到的问题,所以我测试一般情形,用于记录一下. 情景1:try{}catch{}finally{ ...

  2. 在多重Catch的情况下得到异常的完整信息

    在方法多层调用的时候,每一层都有相应的catch处理后重新throw的情况下,刚开始在最外层无法得到产生异常的完整信息. 最初的代码样子如下: static void Main(string[] ar ...

  3. java中如何把时间封装成类,java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象?...

    java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象? 我想将date1格式的日期转换为date2格式的日期对象. SimpleDateFormat simple ...

  4. 进一步封装axios并调用其读取数据(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)

    注意!!!(修改于2020年7月18日) 在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据 报错截图如下 报错内容: {&quo ...

  5. java 隐藏参数,如何在没有JVM参数的情况下隐藏java 9中的“...

    有一些方法可以禁用非法访问警告,但我不建议这样做. 1.简单的方法 由于警告打印到默认错误流,您只需关闭此流并将stderr重定向到stdout. public static void disable ...

  6. java后门_@Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码...

    从数据库.redis取了些数据,做了一些运算后,没抛异常,但是就是结果不对 抛了个空指针异常,但是看代码,感觉没问题,是取出来就是空,还是中间什么函数把它改坏了 发现导致一个bug的原因是用了JVM缓 ...

  7. [Swift]在不依赖三方库的情况下如何异步下载和缓存图片?

    在可滚动视图(如UITableView)中异步加载大量图片是一个很常见的任务. 然而,在图片正在下载的同时又要保持应用程序流畅滚动,可能有点挑战. 许多开发人员依靠像Alamofire和SDWebIm ...

  8. 如何处理高并发写入mysql_如何处理高并发情况下的DB插入

    转载以便以后学习使用,谢谢! 插入数据库,在大家开发过程中是很经常的事情,假设我们有这么一个需求: 1.  我们需要接收一个外部的订单,而这个订单号是不允许重复的 2.  数据库对外部订单号没有做唯一 ...

  9. 如何处理高并发情况下的DB插入

    转载以便以后学习使用,谢谢! 插入数据库,在大家开发过程中是很经常的事情,假设我们有这么一个需求: 1.  我们需要接收一个外部的订单,而这个订单号是不允许重复的 2.  数据库对外部订单号没有做唯一 ...

最新文章

  1. webGL的一些咨询--web3D
  2. Hadoop在Ubuntu下的安装配置(配置成功)
  3. phpcmsv9修改表单直接在列表中显示字段方法
  4. python快速入门课堂笔记_Python 快速入门笔记(10):文件及目录操作
  5. 【转】TeeChart的用法
  6. 女性最常说的5大谎言:
  7. mysql 事务 innodb 锁表_MySQL性能优化之Innodb事务系统,值得收藏
  8. 基于PHP的网上购物网站设计(含源文件)
  9. 写给2017年报名海风的同学
  10. 2007福布斯名人榜完全名单 巩俐收入盖过章子怡
  11. 弦外雨,晚风急 吹皱芳华太无情
  12. Pygame放大缩小照片
  13. Linux 字体微调
  14. android adb点击坐标,Android adb shell 获得点击屏幕的位置坐标
  15. 秉火429笔记之七位带操作
  16. js符号输入不可用_js控制文本框禁止输入特殊字符详解
  17. 管理基础-不能学互联网
  18. 【react】上传头像或图片列表组件的实现
  19. Nginx (深度好文)
  20. Atlassian FaaS 云开发平台Forge解析

热门文章

  1. 由Android 65K方法数限制引发的思考
  2. jquery queue ajax,如何通过jQuery和Queue发送ajax请求?
  3. java写航显系统_一种机场航显系统的制作方法
  4. Qt 读取XML文档的简单示例
  5. 取两个数较小值c语言_编程代码:用C语言来实现下雪效果,这个冬天,雪花很美...
  6. 2017年09月23日普级组 树塔狂想曲
  7. php 根据键名分类求和,二维数组根据键值相加
  8. 多元函数概念思维导图_高等数学 多元函数微分学 知识技巧思维导图 [21考研上岸之旅]...
  9. css 不换行_CSS样式更改——文本Content
  10. python如何调用java写的接口_Python 调用翻译接口