zoukankan      html  css  js  c++  java
  • 什么情况下会用到try-catch

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

    面试官:什么情况下用到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抛出错误。

  • 相关阅读:
    android安全——Activity劫持的防范程序
    职场怪物品鉴录——北漂18年(54)
    移动端报表JS开发示例--获取定位
    Windows 08 R2_组策略
    Windows 08 R2_组策略
    Corrupted MAC on input at /usr/local/perl/lib/site_perl/5.22.1/x86_64-linux/Net/SSH/Perl/Packet.pm l
    Mojo 自动发布接口
    Windows 08 R2_创建AD DS域服务(图文详解)
    Windows 08 R2_创建AD DS域服务(图文详解)
    Mojo 返回一维和二维数组
  • 原文地址:https://www.cnblogs.com/lts8989/p/5472142.html
Copyright © 2011-2022 走看看