企业网站源码打包,wordpress菜单怎么添加图片,精准营销的营销方式,济南最新招聘信息今天异常 为了出现小错误#xff0c;程序不会崩溃#xff0c;而是继续执行#xff08;写代码的逻辑错误与语法错误不是异常#xff09;#xff08;代码健壮性#xff09;#xff08;不要滥用异常处理机制#xff09; 异常体系 Throwable类实现了Serial… 异常 为了出现小错误程序不会崩溃而是继续执行写代码的逻辑错误与语法错误不是异常代码健壮性不要滥用异常处理机制 异常体系 Throwable类实现了Serializable接口 Error jvm无法解决jvm内部错误/资源耗尽等【栈溢出】【内存溢出】程序会崩毁 Exception 空指针异常读取不存在的文件网络连接中断等可以解决 运行时异常 java.lang.RuntimeException及其子类 运行时异常编译器不要求强制处理一般是程序员逻辑错误要自己避免其出现 运行时异常可以不做处理全处理影响效率与可读性编译器检测不出来 【要知道的常见异常】 空指针异常数学运算异常整数/0等数组索引越界异常类型转换异常 数据格式不正确异常字符串转数字可能抛 编译时异常 编译时异常编译器必须处理编译器可以检测出来用try-catch或throws 【要知道的常见异常】 找不到文件异常找不到类异常克隆异常 操作数据库查询表操作文件到了末尾发生异常IO异常参数异常 异常处理 try-catch-finally 捕获-自行处理finally可没有 idea先选中代码再ctrlaltt选中try-catch 注意 异常发生异常后面代码不会执行而是进入catch块 异常不发生catch块不会执行 无论如何finally都会执行底层是有2部分的 try-catch-finally后面的程序继续执行 多个catch编译要求子类异常写在前面父类写在后面因为父类写前面后面的catch没有意义 可以有try-finally不捕获出现异常会直接崩但是finally会执行【执行一段代码不管发生什么都要执行一段逻辑】 应用让一个用户输入整数不是就一直输入 解决 while内try-catch try最后break try-with-resource是专门用于资源引用的异常处理 throws 将异常抛出交给方法调用者处理最上面是jvmjvm直接打印异常中断程序 throws的类型可以是父类也可以是多个 运行时异常没有处理默认就是throws编译异常必须处理的 选一个就行都写就没有必要了 子类重写父类方法所要抛出的异常要么与父类相同要么是其异常子类【子类完全可以代替父类的】 自定义异常 自己设计异常类 继承Exception那么就是编译异常 继承RuntimeException那么就是运行异常一般是这个利用默认throws比较方便 应用要求接收Person年龄在18-120否则抛出异常 throw与throws throws 异常处理的一种方式 方法声明处 后面跟异常类型 throws 手动生成异常对象的关键字 方法体中 后面跟异常对象 junit单元测试框架 直接运行/debug方法不用写到main内 加Test注解到方法上 altenter注解导入依赖一般是5.4.2版本 还可以debug单个方法 junit测试类相对路径从模块名开始算的 //测试黑盒测试 看不到代码给参数输入看输出是否达到预期 // 白盒测试 关注程序执行的具体流程 考虑代码是否严谨 算法是否高效等 //junit单元测试白盒测试的一种 // 使用1定义一个测试用例测试类 建议 类名 被测试类名Test 测试用例所在包名建议 xxx.xxx.test // 2定义测试方法 可以独立运行的方法 建议 方法名 test测试方法名 返回值建议 void 参数列表建议 空参 // 3给测试方法加Test注解 需要导入junit依赖 // 判定因为输出结果一般看不出其测试性 所以一般不需要输出 用控制台判断 红色 失败 绿色 成功 // 需要输出判断用断言 Assert 类静态方法 assertEquals期望值结果值 方法 // 对于重复操作如IO中流的申请释放用注解定义方法 junit4版本 // before 用于资源申请所有测试方法非测试方法 在执行前都会先执行这个方法 一般注解init方法 // after 用于资源释放在执行测试方法后执行 测试方法报错两个方法 尤其是close方法还是会执行 一般注释close方法 // junit5用beforeeach与aftereach // 注意这三个方法beforetestafter【都】必须是public且不能加static否则编译不报错但是junit不会运行