打字猴:1.700449361e+09
1700449361
1700449362 我们这段代码是用一段异常实现了一个正常的业务逻辑,这导致代码产生了坏味道。要解决此问题也很容易,即不在主逻辑中使用异常,代码如下:
1700449363
1700449364 //判断一个枚举是否包含String枚举项
1700449365
1700449366 public static<T extends Enum<T>>boolean Contain(Class<T>c, String name){
1700449367
1700449368 //遍历枚举项
1700449369
1700449370 for(T t:c.getEnumConstants()){
1700449371
1700449372 //枚举项名称是否相等
1700449373
1700449374 if(t.name().equals(name)){
1700449375
1700449376 return true;
1700449377
1700449378 }
1700449379
1700449380 }
1700449381
1700449382 return false;
1700449383
1700449384 }
1700449385
1700449386 异常只能用在非正常的情况下,不能成为正常情况的主逻辑,也就是说,异常只是主场景中的辅助场景,不能喧宾夺主。
1700449387
1700449388 而且,异常虽然是描述例外事件的,但能避免则避免之,除非是确实无法避免的异常,例如:
1700449389
1700449390 public static void main(String[]args){
1700449391
1700449392 File file=new File(“文件.txt”);
1700449393
1700449394 try{
1700449395
1700449396 FileInputStream fis=new FileInputStream(file);
1700449397
1700449398 /*其他业务逻辑处理*/
1700449399
1700449400 }catch(FileNotFoundException e){
1700449401
1700449402 //异常处理
1700449403
1700449404 }
1700449405
1700449406 }
1700449407
1700449408 这样一段代码经常会在我们的项目中出现,但经常写并不代表不可优化,这里的异常类FileNotFoundException完全可以在它诞生前就消除掉:先判断文件是否存在,然后再生成FileInputStream对象,代码如下:
1700449409
1700449410 public static void main(String[]args){
[ 上一页 ]  [ :1.700449361e+09 ]  [ 下一页 ]