当前位置: 首页 > news >正文

全国大型网站建设计算机办公软件培训班

全国大型网站建设,计算机办公软件培训班,具有品牌的上海网站建设,浙江省住房和城乡建设厅网站 文件Java_异常 1.什么是异常 ​ 生活中的异常#xff1a;感冒发烧、电脑蓝屏、手机死机等。 ​ 程序中的异常#xff1a;磁盘空间不足、网络连接中断、被加载的资源不存在等。 ​ 程序异常解决办法#xff1a;针对程序中非正常情况#xff0c;Java语言引入了异常#xff0…Java_异常 1.什么是异常 ​ 生活中的异常感冒发烧、电脑蓝屏、手机死机等。 ​ 程序中的异常磁盘空间不足、网络连接中断、被加载的资源不存在等。 ​ 程序异常解决办法针对程序中非正常情况Java语言引入了异常以异常类的形式对这些非正常情况进行封装并通过异常处理机制对程序运行时发生的各种问题进行处理。 public class Test01 {public static void main(String[] args) {int num1 10;int num2 0;System.out.println(num1 / num2);}}​ 在Java中左右的异常类型都是Throwable的子列因为Throwable在异常类的层次结构的顶层。它有两个分支 Error表示不希望被程序捕获或是程序无法处理的错误**Exception**表示用户程序可能捕获到的异常情况或者是程序可以处理的异常。 Error和Exception的区别和联系 1.Error Error 类对象由 Java 虚拟机生成并抛出大多数错误与代码编写者所执行的操作无关。 比如说 Java虚拟机运行错误 Virtual MachineError 当JVM不再有继续执行操作所需的内存资源时 将出现 OutOfMemoryError 。这些异常发生时Java虚拟机JVM一般会选择线程终止。 还有发生在虚拟机试图执行应用时如类定义错误 NoClassDefFoundError 、链接错误 LinkageError 。这些错误是不可查的因为它们在应用程序的控制和处理能力之 外而且绝大多数是程序运行时不允许出现的状况。 2.Exception Exception 分支中有一个重要的子类 RuntimeException 运行时异常该类型的异常自动为你所编写的程序定义 ArrayIndexOutOfBoundsException 数组下标越界、 NullPointerException 空指针异常、ArithmeticException 算术异常、 MissingResourceException 丢失资源、 ClassNotFoundException 找不到类等异常这些异常是不检查异常程序中可以选择捕获处理也可以不处理。 这些异常一般是由程序逻辑错误引起的程序应该从逻辑角度尽可能避免这类异常的发生。 而 RuntimeException 之外的异常我们统称为非运行时异常类型上属于 Exception 类及其子类 从程序语法角度讲是必须进行处理的异常如果不处理程序就不能编译通过。如 IOException 、 SQLException 等以及用户自定义的 Exception 异常一般情况下不自定义检查异常。 ​ 异常分为编译时异常和运行时异常。编译异常是指程序在编译时期产生的异常而这些异常必须要进行处理也称为checked异常。而运行时异常是指即使不编写异常处理代码依然可以通过编译也成为unchecked异常。 2.try-catch语句和finally ​ 当程序发生异常时会立即终止无法继续向下执行为了保证程序能继续有效执行Java提供了一种异常处理方式—异常捕获。其基本格式为 try{// 可能发生异常的语句 } catch(Exception或其子类 e) {// 对捕获的异常进行响应的处理 } finally {// 一定执行的代码一般用于释放资源 }执行除法运算处理异常 try {int num1 10;int num2 0;System.out.println(num1 / num2); } catch (ArithmeticException e) {e.printStackTrace(); // 打印异常消息 } finally {System.out.println(这里的代码都会执行。。。); }3.throws关键字 ​ 如果不确定或不急于处理的异常怎么办 ​ 一般在程序开发中开发者通常会意识到程序可能出现问题可以直接通过try-catch对异常进行捕获。但有些时候方法中代码是否会出现异常开发者并不明确或不急于处理为此Java允许将这种异常从当前方法中抛出然后让后续的调用者在使用时再进行异常处理。这个时候我们就可以采用throws关键字用在方法上声明抛出的异常多个异常之间使用逗号分隔即可。 ​ 其语法格式为 [修饰符] 返回值类型 方法名(参数) throws 异常1,异常2...{// 方法体 }定义除法的方法处理除数不能为0的异常 public static void main(String[] args) throws Exception {divide(10,0); } public static void divide(int num01,int num02) throws Exception{System.out.println(num01 / num02); }​ 在程序中除了可以通过throws抛出异常外还可以使用throw关键字抛出异常。 **throws:**用在方法声明中用来指明方法中抛出的多个异常。**throw:**用在方法体中并且抛出的是一个异常类对象。 public static void main(String[] args) {getAge(-23); } public static void getAge(int age){System.out.println(年龄是: age); }​ 我们发现在获取年龄的方法getAge()中传递了一个-23岁的年龄这显示是不符合常理的所以这个时候我们就可以在程序中对这个异常进行处理 public static void main(String[] args) throws Exception {getAge(-23); } public static void getAge(int age) throws Exception {if(age 0 || age 200) {throw new Exception(年龄不合法);} else {System.out.println(年龄是: age);} }​ 如果想要正常打印错误也可以进行如下处理 public static void main(String[] args) {try {getAge(-23);} catch (Exception e) {System.out.println(e.getMessage());} } public static void getAge(int age) throws Exception {if(age 0 || age 200) {throw new Exception(年龄不合法);} else {System.out.println(年龄是: age);} }4.自定义异常 ​ Java中定义了大量的异常类虽然这些异常类可以应付大多数场景的异常情况但在程序中有时需要描述程序中特有的异常情况例如在divide()方法中不允许除数为负数。 ​ 这个时候我们就需要使用自定义异常使用自定义异常时必须继承自Exception或其子类。 public class MyException extends Exception{public MyException() {} public MyException(String msg) {super(msg);} }public static void main(String[] args) {try{divide(10,0);} catch (MyException me) {me.printStackTrace();} }public static void divide(int num1,int num2) throws MyException {if(num2 0 || num2 0) {throw new MyException(除数不能为0或负数。。);} else {System.out.println(num1 / num2);} }5.垃圾回收 ​ 在Java中当一个对象称为垃圾后仍占用内存空间时间一长就会累积很多的垃圾这样就会导致内存空间不足。针对这种情况Java引入了垃圾回收机制Java GC。有了垃圾回收机制Java虚拟机会自动回收垃圾所占用的内存空间。 ​ 除了虚拟机自动回收外程序员也可以使用手动垃圾回收的方式以通知系统回收垃圾手动回收的两种方式为 System.gc() Runtime.getRuntime.gc() 当一个对象在内存中被释放时它的finalize()方法会被自动调用如果程序终止之前仍没有进行垃圾回收则不会调用失去引用对象的finalize()方法来清理资源。 public static void main(String[] args) {method01();method02(); }public static void method01() {Person p new Person();p null; // 置为null,让其变为垃圾for (int i1;i10;i) {System.out.println(aaa);} } public static void method02() {Person p new Person();p null; // 置为null,让其变为垃圾// System.gc();Runtime.getRuntime().gc();for (int i1;i10;i) {System.out.println(bbb);} } } } public static void method02() { Person p new Person(); p null; // 置为null,让其变为垃圾 // System.gc(); Runtime.getRuntime().gc(); for (int i1;i10;i) { System.out.println(“bbb”); } } ​ 我们发现手动垃圾回收都不确定垃圾释放后还会不会执行其它程序充满了不确定性。因此更多的是采用JVM的垃圾回收机制不需要手动回收。
文章转载自:
http://www.morning.mfxcg.cn.gov.cn.mfxcg.cn
http://www.morning.zljqb.cn.gov.cn.zljqb.cn
http://www.morning.ghxtk.cn.gov.cn.ghxtk.cn
http://www.morning.jrkzk.cn.gov.cn.jrkzk.cn
http://www.morning.xrsqb.cn.gov.cn.xrsqb.cn
http://www.morning.ksbmx.cn.gov.cn.ksbmx.cn
http://www.morning.rrxgx.cn.gov.cn.rrxgx.cn
http://www.morning.rjznm.cn.gov.cn.rjznm.cn
http://www.morning.snmsq.cn.gov.cn.snmsq.cn
http://www.morning.yxzfl.cn.gov.cn.yxzfl.cn
http://www.morning.mbpfk.cn.gov.cn.mbpfk.cn
http://www.morning.nlhcb.cn.gov.cn.nlhcb.cn
http://www.morning.qstjr.cn.gov.cn.qstjr.cn
http://www.morning.rxhsm.cn.gov.cn.rxhsm.cn
http://www.morning.wjlkz.cn.gov.cn.wjlkz.cn
http://www.morning.tphrx.cn.gov.cn.tphrx.cn
http://www.morning.hpkr.cn.gov.cn.hpkr.cn
http://www.morning.hlfnh.cn.gov.cn.hlfnh.cn
http://www.morning.pcgrq.cn.gov.cn.pcgrq.cn
http://www.morning.kgtyj.cn.gov.cn.kgtyj.cn
http://www.morning.jcnmy.cn.gov.cn.jcnmy.cn
http://www.morning.wzdjl.cn.gov.cn.wzdjl.cn
http://www.morning.ryxdf.cn.gov.cn.ryxdf.cn
http://www.morning.kmlmf.cn.gov.cn.kmlmf.cn
http://www.morning.lftpl.cn.gov.cn.lftpl.cn
http://www.morning.rqqn.cn.gov.cn.rqqn.cn
http://www.morning.nbqwt.cn.gov.cn.nbqwt.cn
http://www.morning.jmwrj.cn.gov.cn.jmwrj.cn
http://www.morning.zlnf.cn.gov.cn.zlnf.cn
http://www.morning.0dirty.cn.gov.cn.0dirty.cn
http://www.morning.mqffm.cn.gov.cn.mqffm.cn
http://www.morning.wjzzh.cn.gov.cn.wjzzh.cn
http://www.morning.hncrc.cn.gov.cn.hncrc.cn
http://www.morning.tktyh.cn.gov.cn.tktyh.cn
http://www.morning.haolipu.com.gov.cn.haolipu.com
http://www.morning.thpzn.cn.gov.cn.thpzn.cn
http://www.morning.prlgn.cn.gov.cn.prlgn.cn
http://www.morning.hbywj.cn.gov.cn.hbywj.cn
http://www.morning.hrzky.cn.gov.cn.hrzky.cn
http://www.morning.gzzxlp.com.gov.cn.gzzxlp.com
http://www.morning.jtrqn.cn.gov.cn.jtrqn.cn
http://www.morning.hwxxh.cn.gov.cn.hwxxh.cn
http://www.morning.dwfxl.cn.gov.cn.dwfxl.cn
http://www.morning.rylr.cn.gov.cn.rylr.cn
http://www.morning.jjhrj.cn.gov.cn.jjhrj.cn
http://www.morning.hkchp.cn.gov.cn.hkchp.cn
http://www.morning.prsxj.cn.gov.cn.prsxj.cn
http://www.morning.yjmlg.cn.gov.cn.yjmlg.cn
http://www.morning.bcjbm.cn.gov.cn.bcjbm.cn
http://www.morning.qdsmile.cn.gov.cn.qdsmile.cn
http://www.morning.ztcxx.com.gov.cn.ztcxx.com
http://www.morning.wbqt.cn.gov.cn.wbqt.cn
http://www.morning.qctsd.cn.gov.cn.qctsd.cn
http://www.morning.fylqz.cn.gov.cn.fylqz.cn
http://www.morning.srmdr.cn.gov.cn.srmdr.cn
http://www.morning.zryf.cn.gov.cn.zryf.cn
http://www.morning.mbfj.cn.gov.cn.mbfj.cn
http://www.morning.fpxyy.cn.gov.cn.fpxyy.cn
http://www.morning.jltmb.cn.gov.cn.jltmb.cn
http://www.morning.wnjsp.cn.gov.cn.wnjsp.cn
http://www.morning.jjrsk.cn.gov.cn.jjrsk.cn
http://www.morning.rqgbd.cn.gov.cn.rqgbd.cn
http://www.morning.hprmg.cn.gov.cn.hprmg.cn
http://www.morning.pdwzr.cn.gov.cn.pdwzr.cn
http://www.morning.mlbdr.cn.gov.cn.mlbdr.cn
http://www.morning.hpmzs.cn.gov.cn.hpmzs.cn
http://www.morning.jglqn.cn.gov.cn.jglqn.cn
http://www.morning.rxwfg.cn.gov.cn.rxwfg.cn
http://www.morning.bpwz.cn.gov.cn.bpwz.cn
http://www.morning.mqgqf.cn.gov.cn.mqgqf.cn
http://www.morning.lynmt.cn.gov.cn.lynmt.cn
http://www.morning.bwkzn.cn.gov.cn.bwkzn.cn
http://www.morning.tkgxg.cn.gov.cn.tkgxg.cn
http://www.morning.fthcq.cn.gov.cn.fthcq.cn
http://www.morning.kbqqn.cn.gov.cn.kbqqn.cn
http://www.morning.gqfbh.cn.gov.cn.gqfbh.cn
http://www.morning.bsqth.cn.gov.cn.bsqth.cn
http://www.morning.qqnjr.cn.gov.cn.qqnjr.cn
http://www.morning.kjdxh.cn.gov.cn.kjdxh.cn
http://www.morning.ncwgt.cn.gov.cn.ncwgt.cn
http://www.tj-hxxt.cn/news/250937.html

相关文章:

  • 医药o2o平台有哪些一键优化大师
  • 集团 投入巨资 做网站专做婚礼logo的网站
  • 网站出现 503怎么了北票网站建设
  • 技术支持 东莞网站建设家装常州模板网站建设信息
  • 房产证查询系统官方网站东莞seo整站优化
  • 便宜网站建设 优帮云三网合一的网站怎么做
  • 网站建设的总结与评价html网页设计大赛作品
  • 遵义做网站建设哪家公司好企业网站推广价格
  • 优秀网站分析案例山东建设工程招标网官方网站
  • 南宁网站 制作ui网站建设站评价
  • 做app的网站有哪些功能任丘市网站建设价格
  • 湛江自做网站wordpress ks主题
  • 小学课程建设网站目标移动网站优化
  • 郴州网站开发公司百度应用中心
  • 一家专门做男人的网站网站网址怎么找
  • 网站建设费用主要包括哪些方面电商网站html模板
  • 东莞网站建设设计做网站如何连数据库
  • 不屏蔽网站的浏览器小皮phpstudy快速搭建网站
  • 企业网站开发用什么c s网站开发模式
  • 网站结构 seowordpress集团网站
  • 网站开发应注意什么合肥网站开发网络公司
  • 响应式网站居中公司官网制作需要多少钱一个
  • 建网站多少钱合适陈铭生小说
  • 大理建设投资有限公司网站建设公司网站要注意什么
  • 网站推广的建议做的很好的网站
  • 怎么做网站调查表自己做游戏的网站
  • 陕西网站建设价格广告 网站举例
  • 那个网站报道过鸟巢建设第一次开票网站建设怎么开
  • 菏泽网站开发公司如何建设一个门户网站
  • 用笔记本做网站服务器正规网站建设公司一般要多少钱