黑马程序员—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
- 黑马程序员——JAVASE-异常
- 黑马程序员—javaSE—异常
- 黑马程序员——javase基础--多态、内部类、异常
- 黑马程序员 JavaSE-10 异常
- 黑马程序员 JAVASE——异常及异常的处理机制
- 黑马程序员-JAVASE入门(异常,包)
- 黑马程序员-javaSE学习之异常
- 黑马程序员-JAVASE入门(异常)
- 黑马程序员—异常
- 黑马程序员—异常
- 黑马程序员—异常
- 黑马程序员—异常
- 黑马程序员—异常
- 黑马程序员—异常
- 黑马程序员—异常
- 黑马程序员 JAVASE——内部类
- 黑马程序员 JAVASE——线程
- 黑马程序员 JAVASE——String
- 冰山
- C#_字符串中的Compare和Equal方法
- poj2892 Tunnel Warface
- Android进程和线程 --消息队列模型--ThreadLocal (3)(2015-12-02 19:41)
- SIFT特征--方向赋值与关键点描述
- 黑马程序员—javaSE—异常
- Android Studio 快捷键整理分享
- IOS 入门之基础控件学习1
- Android 工程图片资源命名禁忌
- uImage、zImage、bzImage、vlinzx区别
- Linux内核与根文件系统的关系
- linux C 函数
- 普通二叉树C++实现
- 黑马程序员—javaSE—IO流