Exception异常

来源:互联网 发布:vb中vbCrLf是什么意思 编辑:程序博客网 时间:2024/05/22 12:10
 如何去处理异常呢?
  A:try...catch...finally
  B:throws
 
  A:try...catch...finally的格式:
  try{
  可能出现问题的代码;
}catch(异常类名 变量名){
  可以给一个简单的提示;
  }finally{
  释放资源
  }
  简化格式:
  try{
  可能出现问题的代码;
}cahtch(异常类名 变量名){
  可以给一个简单的提示;
 
  }
 
注意:
A:try里面的代码越简单越好
B:catch后面必须有内容,并且哪怕一句简单提示
C:举例ArithmeticException:属于RuntimeException的子类,并且最大的异常Exception:对于具体的异常必须明确给出




如果是一个异常怎办:只要捕获了异常,后面的语句可以执行
  两个异常怎办
  a:针对两个异常
  要么分别的进行try...catch
  b:try{
  可能出现问题的代码;
  }catch(异常类名 变量名){
  简单的提示;
  }catch(异常类名 变量名){
  提示信息..
  }
 
  注意:a:这种格式的catch后面的异常类名必须处于平级关系
  b:一旦try里面的代码与catch后面的异常类名匹配的情况,这个try...catch{}语句结束
  c:异常类名:是什么异常就明确给出异常类名,不建议给出Exception

  try里面的代码会产生一个异常对象,这个异常对象和cahtch后面的异常类名进行匹配,如果该类对应的是某个类型,那么就在控制台输出该异常的信息
  
  异常中常见的方法:
  getMessage()
获取异常信息,返回字符串
toString();
该类对象的name(全路径名的形式)
(冒号:空格 )
  //printStackTrace()
获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void
 
 继承时父类与子类的异常关系:
A:子类中有方法重写的时候,抛出的异常要是和父类中的异常一致要么就是父类异常的子类(父亲坏了,儿子不能比父亲还坏)
B:如果父类抛出多个异常,子类在重写父类中的方法的时候,该方法抛出异常一般情况是父类异常的子类
C:如果父类中的方法没有抛出异常,子类在重写父类的这个方法的时候的时候一定不能抛出异常,如果抛,只能try,不能throws


问题:
  catch里面可不可以有有return语句,执行finally中的代码,是在return还是在return后执行
  可以有return语句,前执行
  
  try...catch里面的变形格式
  try...catch...finally
  try...cathc...catch...finally
  try...finally
  最终finally是用来释放资源的.
 
0 0