黑马程序员—javaSE—异常

来源:互联网 发布:淘宝商品降价提醒 编辑:程序博客网 时间:2024/06/07 16:06

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

一、异常
1、异常的概述和分类
Throwable
Error – 内存溢出、数据库崩溃(修改代码)

        Exception            RuntimeException -- 运行期异常(修改代码) -- 如果出现了这些异常,那么一定是你的问题。            非RuntimeException -- 需要异常处理                两种方式:                    try...catch                    throws2、JVM默认是如何处理异常的    会将异常名称 + 异常信息 + 异常出现的位置,打印到控制台,然后结束运行。    后面的代码将不能执行到。3、try...catch的方式处理异常1    try {        // 可能出问题的代码    } catch(异常类名 变量名) {        // 异常处理代码    } finally {        // 必须执行的代码        // 释放资源    }4、try...catch的方式处理异常2    针对多个异常,一个try多个catch的方式。如果有子父类关系,父类要放到后面。    1.7新特性    try {        // 可能出问题的代码    } catch(异常类名1 | 异常类名2 |... 变量名) { // 不能有子父类关系        // 异常处理代码    }5、编译期异常和运行期异常的区别    编译期异常必须做异常处理,否则编译报错。    运行期异常可以不做。6、Throwable的几个常见方法    String getMessage() -- 异常信息    String toString() -- 异常名称 + 异常信息    void printStackTrace() -- 将异常名称 + 异常信息 + 异常出现的位置打印到控制台7、throws的方式处理异常    throws 声明异常 -- 在方法的声明上 添加 throws + 异常名称    throw 关键字 用在方法体里面,将异常抛出的。 -- throw 异常对象;8、throw的概述以及和throws的区别9、finally关键字的特点及作用    除非JVM退出,否则finally里面的代码,不管会不会发生异常,都将执行。    那么如果try或者catch中有return语句,是在return前还是后执行:        在return前。        (如果能表述清楚,可以说下是return中:已经生成一条返回路径,但return语句执行完之前去执行了finally里面的代码,然后接着走了之前的返回路径)10、finally关键字的面试题    final        修饰类。最终类,不能被继承        修饰方法。最终实现,不能被重写        修饰变量。其实是一个常量,一旦被赋值就不可更改    finally        是异常处理语句结构的一部分,表示总是执行,一般在finally里做释放资源的操作。    finalize()        Object类中定义的方法。在对象变成垃圾时,由对象的垃圾回收器调用此方法。由子类重写,以配置系统资源或执行其他清除。(但基本不用)11、自定义异常概述和基本使用    实现方式:        自定义一个异常类,继承自Exception。要提供带字符串参数的构造,具体的实现使用父类即可。        如果继承自Exception,必须做异常处理。        如果继承自RuntimeException,可以不必处理。        开发中,一般是继承自RuntimeException。不必要求调用者非要进行异常处理。12、异常的注意事项及如何使用异常处理    子类重写父类的方法,不能缩小父类的访问权限,不能抛出比父类更多的异常。    如何选择:        原则:能解决就try,不能就throws            如果抛出异常后,后面的代码还需要执行,必须try。            如果抛出异常后,后面的代码不需要执行,可以throws。13、异常练习 - 键盘录入整数求其二进制表示形式,对非法数据加入异常处理。

二、File类
1、File类的概述和构造方法
File(String pathname)
File(String parent, String filename)
File(File parent, String filename)

2、File类的创建功能    boolean createNewFile() -- 文件    boolean mkdir() -- 单级目录    boolean mkdirs() -- 多级目录    注意:        父目录必须存在。        创建文件还是文件夹,自己要明确。3、File类的重命名和删除功能    renameTo(File dest)        重命名:            如果是相同目录,重命名。            如果是不同目录,剪切并重命名。    delete()        删除不走回收站。        带子内容的文件夹删除失败。4、File类的判断功能    exists() -- 是否存在    isFile() -- 是否是文件    isDirectory() -- 是否是文件夹    isAbsolute() -- 是否是绝对路径    canRead() -- 是否可读(windows系统下都可读)    canWrite() -- 是否可写    isHidden() -- 是否隐藏5、File类的获取功能    String getAbsolutePath() -- 获取绝对路径    String getPath() -- 获取路径    String getName() -- 获取文件或文件夹名称    long length() -- 文件大小      long lastModified() -- 最后修改时间    String[] list() -- 获取目录下所有的文件或者文件夹名称数组    File[] listFiles() -- 获取目录下所有的文件或者文件夹对象数组6、输出指定目录下指定后缀的文件名7、文件名称过滤器的概述及使用
0 0
原创粉丝点击