A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 忆梦追风 中级黑马   /  2014-9-5 18:53  /  800 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一.异常
(1)就是程序运行过程中,遇到了问题,这就叫异常。
(2)异常的体系
  Throwable 其实应该分三种
   Error
    通常出现重大问题如:服务器宕机数据库崩溃等。
          不编写针对代码对其处理。
   Exception
    除了 RuntimeException 和其所有子类,其他所有的异常类都是在编译的时候必须要处理的
    要么try,要么抛
   RuntimeException
    RuntimeException 和其所有的子类,都不会在编译的时候报异常,而是在运行时报异常,这时候我们
    就需要回头看看我们的代码是否有问题,比如角标越界,空指针等
  
  
(3)Throwable Runnable
  A:getMessage() :返回此 throwable 的详细消息字符串。
  class Throwable {
   String detailMessage;
   Throwable(){}
   Throwable(String message) {
    this.detailMessage = message;
   }
   public String getMessage() {
    return detailMessage;
   }
  }
  B:toString():获取异常类名和异常信息,返回字符串。
  C:printStackTrace():获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。
(4)处理异常处理方式:
  A:try...catch...finally
  格式:
   try {
    需要检测的代码;
   }
   catch(异常类  变量) {
    异常处理代码;
   }
   ...
   finally {
    一定会执行的代码;
     
   }
  可以有下面三种搭配形式:
   **try...catch(...)
   **try...finally
   **try...catch(...)...finally
  B:抛出 throws throw
  throws:用于标识函数暴露出的异常。thorws用在函数上,后面跟异常类名(可以由多个,隔开)。
  throw:用于抛出异常对象。throw用在函数内,后面跟异常对象。new Exception();
  C:到底用谁?
   **你能处理,建议处理。try...catch...finally
   **你处理不了,抛出。
   **在实际开发中,是分层开发,底层代码是能抛出尽量抛出,用日志记录住异常信息,并提供解决方案
  D:自定义异常
   自定义类继承Exception或者其子类(RuntimeException)
   class MyException extends Exception{
    MyException(){}
    MyException(String message){
     super(message); //将信息传递给父类,调用父类封装好的构造方法
    }
   }
   class Student {
    public void giveAge(int age) throws MyException {
     if(age>40 || age<16) {
      //throw new MyExcetpion("建议不学了");
      MyExcepiont my = new MyExcetpion("建议不学了");
      throw my;
     }
     else {
      System.out.println("可以学习Java");
     }
    }
   }
  E:RuntimeException和Exception
   区别:RuntimeException就是要你改代码的。你可以不处理。
二.File
1.什么是File类
  File类对象可以代表一个路径, 此路径可以是文件也可以是文件夹, 该类方法可以对这个路径进行各种操作
2.创建对象
  给File类构造函数传一个String类型的路径就可以创建对象
  路径分为两种: 绝对路径, 相对路径
   绝对路径: 从盘符开始, 是一个固定的路径
   相对路径: 不从盘符开始, 相对于某个位置. 在Eclipse中的Java工程如果使用相对路径, 那么就相对于工程根目录. cmd则相对应于当前目录.
3.常用方法
  boolean exists()   判断是否存在
  boolean isAbsolute(); 是否是绝对路径
  boolean isDirectory(); 是否是文件夹
  boolean isFile();  是否是文件
  boolean isHidden();  是否是隐藏
  
  getAbsolutePath();  获取绝对路径
  getFreeSpace();   获取当前盘符剩余空间
  getTotalSpace();  获取当前盘符总空间
  getUsableSpace();  获取当前盘符可用空间
  getParent());   获取父级路径
  getName());    获取文件名
  setReadable(false);  设置是否可读
  setWritable(false);  设置是否可写
  setExecutable(false); 设置是否可执行
  canRead();    是否可读
  canWrite();    是否可写
  canExecute();   是否可执行
  
  setLastModified();  设置文件的最后修改时间
  lastModified();   获取文件的最后修改时间  
  createNewFile()   创建文件
  mkdir();    创建文件夹(仅一级)
  mkdirs();    创建文件夹(父级不存在也创建)
  
  renameTo();    改名, 可以移动文件
  delete()    删除, 文件可以直接删除, 文件夹只能删空的
  length()    文件大小

  String[] list()
  File[] listFiles()  

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马