日常开发时突然卡壳的情况

本文分享了在软件开发过程中遇到的两个典型问题及解决方案:一是H2数据库中使用不规范的SQL语法创建表,二是因代码不规范导致的空指针异常及异常处理不当。强调了遵循标准SQL语法和编写健全部分代码的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文章主要记录在开发过程中遇到的一些很简单的问题,经常会一拍脑门儿感觉豁然开朗

1、SQL脚本要规范

在H2数据库中创建表,明明sql写得很对(一直以来我就是这样写的sql),却一直报错,领导听我念了一遍就知道我哪里写错了:
我写的报错sql:

create table user_info_copy select * from user_info;

改后能执行的sql:

 create table user_info_copy as select * from user_info;

平时的开发习惯要好,小小as不能丢,不标准。

2、一个不规范的开发导致的空指针以及异常捕获的bug

try {
   LOG.info("进入了FTP类型的schemas接口");
   List<String> finalDataConnectionSchemas =Arrays.asList(FTPUtils.listAllNames(dsf, ""));
   Collections.sort(finalDataConnectionSchemas,String.CASE_INSENSITIVE_ORDER);
   return new ResponseEntity<>(new ResultEntity(ResultEntity.ResultStatus.OK, finalDataConnectionSchemas, "查询成功"), HttpStatus.OK);
} catch (IOException e) {
   LOG.error("列出FTP连接下的文件失败!",e);
   return new ResponseEntity<>(new ResultEntity(ResultEntity.ResultStatus.FAILURE, new HashMap<>(), e.getMessage()), HttpStatus.OK);

出错的现象是打印了"进入了FTP类型的schemas接口",然后就没有输出了,返回给前端的也不晓得是哪里的异常。
原因:FTPUtils.listAllNames(dsf, “”)得到了null,Arrays.asList(null)报错,于是乎就走catch,但是注意这是个IOException,于是乎就没有catch到。

应该把关键性地方一步步写完整,避免出现空指针这种低级问题,子异常类型catch不到的,最后加个Exception兜底。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值