黑马程序员 -- Java基础学习(4)
来源:互联网 发布:ubuntu 开不开机 编辑:程序博客网 时间:2024/05/17 23:08
------- android培训、java培训、期待与您交流! ----------
异常
异常.java:总结▸ 程序运行时出现的不正常情况;java对不正常情况进行描述后的对象体现:问题也是生活中的一个事物• 严重的问题:error类:不编写针对性的代码进行处理• 非严重:Exception类:使用针对性的处理方式• 由Error与Exception的共性,抽取出Throwable类▸ 异常的处理:try/catch/finally ExceptionDemo.java try { 需要被检测的代码; } catch(异常类 变量) { 处理异常的代码; } finally { 一定会执行的语句; }▸ 处理常见方法• String getMessage()• String toString() 异常名称:异常信息• void printStackTrace():jvm的默认异常处理机制 异常名称,异常信息,异常出现的位置▸ 尽量在catch中定义具体的处理方式:存储在异常日志文件中• 继续在catch中抛出• 如果异常处理不了且不属于该功能,可以转换成相关的异常再抛出• 或者处理了异常之后再把相关问题提供出去,比如汇款失败• throws 在方法上通过throws声明该方法有可能会出新的问题▸ 多异常处理• 声明异常时尽量声明更为具体的异常• 声明几个异常,就定义几个对应的catch块,不要定义多余的• 如果多个catch块的异常有继承关系,则父类异常catch块放在最下面▸ 自定义异常 ExceptionDemo3.java• 对于特有的问题,按照java对问题封装的思想,可以自定义异常 格式:class 异常类名 extends Exception {}▸ 函数内部出现了throw抛出异常对象时,必需给出对应的处理工作• 内部try catch• 在函数上声明让调用者处理• 自定义异常信息:父类中已经把异常信息的操作都完成了,子类只要在构造函数中吧异常信息传给父类即可 构造函数 super(msg); getMessage()方法• 必须继承Exception的原因:异常类和异常对象都具有可抛性,只有Throwable体系才有这个特点▸ throws和throw• throws使用在函数上(小括号和大括号之间) throw使用在函数内• throws后面跟着异常类,可以跟多个 throw后面跟着异常对象• 如果某异常的发生使程序无法继续运行,就让该自定义异常继承RuntimeException▸ RuntimeException 运行时异常 ExceptionDemo4.java▸ 异常分两种• 编译时被检测的异常 若没有处理(抛出或try/catch)则编译失败• 编译时不被检测的异常(比如RuntimeException及其子类) 编译时不处理,编译器不检查 建议不处理该类异常,让程序停止,对代码进行修改• 在函数内抛出异常,可以不用在函数上声明,因为不需要调用者处理• 如果在函数上声明该异常,调用者可以不用处理,编译也可以通过• 该异常发生时,希望程序停止,因为出现了无法继续运行的情况• 空指针异常 不要写**.equals(“”),写””.equals(**)▸ 例子:讲课 ExceptionTest.java• throw运行后方法结束,后面不能接语句,不会运行▸ finally• 定义一定执行的代码,通常用于关闭资源 System.exit(0); 若系统推出则不会执行• 数据库的连接与断开 ExceptionDemo5.java• try可以只加finally:为了关闭资源 由于没有catch,异常没有被处理,需要在方法声明异常▸ 异常在子父类覆盖中的体现• 如果父类的方法抛出异常,那么子类的覆盖方法只能抛出父类的异常或该异常的子类• 如果父类方法抛出多个异常,那么子类在覆盖该方法时只能抛出父类异常的子集• 如果父类或者接口的方法中没有异常抛出,那么子类在覆盖该方法时也不能抛出异常 如果发生异常就必须进行try catch处理,不能抛异常▸ 练习:求面积 ExceptionTest1.java 练习四答案.txt• 异常的产生可以让正常流程和处理问题的代码相分离
包 package
• 对类文件进行分类管理 给类提供多层命名空间• 文件的第一行:包名.类名 package ***• javac -d 指定类存放的目录 . 代表当前目录▸ import 为了简化类名的书写• 为了使用子包中的类,必需导入子包• 建议不要写通配符*,需要用到包中的哪个类就导入哪个类• 当导入的包中有重名的类时,使用时要加上包名▸ jar包:java的压缩包• 命令:jar由jar.exe完成
• META-INF
• 在classpath设置jar的路径即可使用
• jar -tf a.jar > c:/1.txt
把文件列表存入1.txt文件中
0 0
- 黑马程序员 -- Java基础学习(4)
- 黑马程序员 java基础学习笔记4
- 黑马程序员 -- Java基础学习(1)
- 黑马程序员 -- Java基础学习(2)
- 黑马程序员 -- Java基础学习(3)
- 黑马程序员 -- Java基础学习(5)
- 黑马程序员 -- Java基础学习(6)
- 黑马程序员 -- Java基础学习(7)
- 黑马程序员 -- Java基础学习(8)
- 黑马程序员 -- Java基础学习(9)
- 黑马程序员 -- Java基础学习(10)
- 黑马程序员 -- Java基础学习(11)
- 黑马程序员-Java基础学习(函数)
- 黑马程序员-Java基础学习(数组)
- 黑马程序员——Java基础学习日记(4)
- 黑马程序员-JAVA基础学习
- 黑马程序员----java基础加强(4)
- 黑马程序员--Java基础学习十(Java线程)
- hadoop学习之路(一)
- Linux下面如何查看主板型号
- Visio 2010 UML作图
- RBM学习笔记
- UML逆向工具,小巧好用
- 黑马程序员 -- Java基础学习(4)
- 详解网关和路由器的区别
- 关于Windows的用户帐户控制
- Wooden Sticks
- Cocos2d-x中异步动态加载图片或Plist文件
- 为什么关闭浏览器网页时电脑出现卡屏
- 由ARM-Linux中断知识的拓展
- mu4e 查看邮件图片
- 巧用PP加速器下载网页视频