日期:2014-05-20  浏览次数:20751 次

今天远光的面试官提问:“try括住过多的代码有什么优点什么缺点”
try
{
        int   t=3+4;
        String   xx= "haha ";
        xx.toUpCase();
}
catch(...){}
int   t=3+4;是否应该被try括住。
我答不出来。
---------------
HE   ASKED     again:
oracle   和sqlserver的表有什么区别,比如字段结构有什么不同,……
我甜甜地说:“我不知道”。汗……

------解决方案--------------------
1.int t=3+4;是否应该被try括住。
看情况,要看对t的引用在try-catch体内或体外了,如果在try-catch体外则不应该,这样引用不到t.体内则无所谓
2.try括住过多的代码有什么优点什么缺点
 这个说来话长了,随便说个,如果框太多的代码,对于代码抛出的异常无法进行很好的异常分类处理,还可以忽悠说不追踪到程序的话无法知道哪个抛的异常.
3.oracle 和sqlserver的表有什么区别,比如字段结构有什么不同,……
  没用过oracle .sqlserver,mysql,db2,Access之间的区别知道(坦城回答)
------解决方案--------------------
int t=3+4 t在这个try里边没有用到不应该放里边,这就是个代码结构清楚的问题吧,括进太多的代码容易有隐藏的错误不被测试发现,
oracle和sqlserver的字段结构区别?字段结构是指什么呀?是指存储结构?还是指类型之间的区别?
比如oracle有rownum等伪列,sqlserver没有,oracle有几个LOB对象类型等等...
就能说这么多

PS:楼主信用分不高,关注一哈
------解决方案--------------------
try 的大的优点:程序结构清晰。
try 的大册缺点:当有些异常发生时,需要进行一些异常的处理。处理完之后,继续后面的处理。
------解决方案--------------------
感觉这个考官倒是蛮会问问题的。try主要作用是捕获程序异常,进行必要的程序恢复或异常预处理操作。如果括住太多的代码,会造成其他代码无法执行,不利于程序恢复。