参考zhouyong80的博客,网址:http://blog.csdn.net/zhouyong80/article/details/1907799
Throwable有2个重要的子:Exception和Error。
try{
XX
}catch(Throwable e){
e.printStackTrace();
}
/*
* 根据公司ID和类名得到扩展表对象* 输入companyid公司ID;className为类名
* 输出扩展表对象
* */
public static ExpandoTable getExpandoTable(long companyid,String className){
ExpandoTable expandtable = null;
try {
expandtable = ExpandoTableLocalServiceUtil.getDefaultTable(companyid,className);
} catch (Exception e) {
e.printStackTrace();
}
return expandtable;
}
public static test(){
ExpandoTable expandtable=getExpandoTable(companyid,className);
if(expandtable==null){//表抛出异常,则不存在该表或者其他情况 null为发生了异常,下面开始处理该异常
//异常处理
}
}
throw是程序中明确了引发的异常,它将异常封装成对象抛出。
如果try{
}catch(Exception e){
throw new RuntimeException(e); //如果用throw的方法
}
用throw抛出的方式,程序将不做后续处理,直接将异常抛出程序外面。
public void methodA(){
try{
}catch(Exception e){
throw new RuntimeException(e);
}
}
public void methodB(){
try{
methodA(); //如果A出现异常,则之间抛出异常到 位置1 ,故methodC无法执行。如果methodA直接e.printStackTrace();而无throw,则methodC继续执行
methodC();
}catch(Exception e){
位置1
e.printStackTrace();
}
}