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

株洲企业网站建设费用/站长素材音效

株洲企业网站建设费用,站长素材音效,如何做seo整站优化,wordpress获取文章title错误与异常 一、异常/错误 程序运行过程中,可能会发生一些不被期望的效果,肯定会阻止我们的程序按照指令去执行这种不被预期出现的效果,肯定需要抛出来告诉我们 二、在Java中有一个定义好的规则Throwable(可以抛出的&#xff0…

错误与异常

一、异常/错误

  1. 程序运行过程中,可能会发生一些不被期望的效果,肯定会阻止我们的程序按照指令去执行
  2. 这种不被预期出现的效果,肯定需要抛出来告诉我们

二、在Java中有一个定义好的规则Throwable(可以抛出的)

  1. Error错误
    通常是一些物理性的,JVM虚拟机本身出现的问题,程序指令是处理不了的

  2. Exception异常
    通常是一种人为规定的不正常的现象,通常是给定的程序指令产生了一些不符合规范的事情

在这里插入图片描述

三、异常的分支体系

  1. 运行时异常(非检查异常)
    Error和RuntimeException都算作运行时异常
    javac编译的时候,不会提示和发现的,
    在程序编写时不要求必须做处理,如果我们愿意可以添加处理手段(try throws)
    常见的一些异常:1.InputMisMatchException 输入不匹配int value = input.nextInt();//   abc*2.NumberFormatException 数字格式化int value = Integer.parseInt("123.45");3.NegativeArraySizeException 数组长度负数int[] array = new int[-2];*4.ArrayIndexOutOfBoundsException 数组索引越界int[] array = {1,2,3};array[5];*5.NullPointerException 空指针异常int[][] array = new int[3][];array[0][0] =10;Person p = null;p.getName();6.ArithmeticException 数字异常10/0	整数不允许除以0	    Infinity小数除以0会产生无穷*7.ClassCastException 造型异常Person p = new Teacher();Student s = (Student)p;*8.StringIndexOutOfBoundsException 字符串越界String str = "abc";str.charAt(5);*9.IndexOutOfBoundsException 集合越界List家族ArrayList  list = new ArrayList();list.add(); list.add(); list.add();list.get(5);10.IllegalArgumentException 非法参数异常ArrayList  list = new ArrayList(-1);
  1. 编译时异常(检查异常)
    除了Error和RuntimeException以外其他的异常都是编译时异常
    javac编译的时候 强制要求我们必须为这样的异常做处理(try或throws)
    因为这样的异常在程序运行过程中极有可能产生问题的异常产生后后续的所有执行就停止。
    1.InterruptException
    try{
    Thread.sleep(5000);
    }catch(Exception e){
    }
    后续还会有很多的编译时异常

四、添加处理异常的手段

处理异常不是   异常消失了
处理异常指的是   处理掉异常之后   后续的代码不会因为此异常而终止执行

(一)、try{}catch(){}[ finally{} ]

  1. try不能单独的出现
  2. 后面必须添加catch或finally
  3. catch有一组括号 (NullPointerException) 目的是为了捕获某一种异常
package testthrowable;public class Test {public static void main(String[] args) {try {System.out.println("try开始");String str = null;str.length();//NullPointerException//try中对代码进行判断,如果没有异常就直接执行完毕;如果有异常就执行catch代码块里面,System.out.println("try完毕");} catch (NullPointerException e) {//catch有一组括号 (NullPointerException) 目的是为了捕获某一种异常System.out.println("捕获到了空指针异常");}}
}
  1. catch可以有很多个存在
    捕获的异常之间没有任何的继承关系
    捕获的异常需要从小到大进行捕获
package testthrowable;public class Test {public static void main(String[] args) {System.out.println("程序最早开始执行");try {System.out.println("try开始");String str = "abc";str.length();str.charAt(10);//StringIndexOutOfBoundsExceptionSystem.out.println("try完毕");}catch(NullPointerException e) {//捕获小异常System.out.println("捕获到了空指针异常");}catch(Exception e){//捕获大异常,Exception是父类。System.out.println("捕获到了其他异常");}finally {System.out.println("我是finally执行块 我必须执行");}System.out.println("产生异常之后的所有程序");}
}
  1. finally不是必须存在的
    若存在finally结构 则必须执行
    引申一个小问题: final finally finalize区别

    final 特征修饰符 修饰变量 属性 方法 类
    修饰变量、基本类型: 值不能改变 引用类型 地址不能改变(如果变量没有初值 给一次机会赋值)
    修饰属性: 特点与修饰变量类似 (要求必须给属性赋初始值 否则编译报错)
    修饰方法: 不能被子类重写
    修饰类: 不能被其他的子类继承
    finally 处理异常手段的一部分
    try{}catch(){}后面的一个部分
    这个部分可有可无 如果有只能含有一份 且必须执行
    finalize 是Object类中的一个protected方法
    对象没有任何引用指向的时候 – 会被GC回收
    当对象回收的时候 默认调用finalize方法
    若想要看到对象回收的效果 可以重写 public void finalize(){}

  2. 处理异常放在方法内部 可能还会有小问题
    如果在方法内部含有返回值
    不管返回值return关键字在哪里 finally一定会执行完毕
    返回值的具体结果:
    如果只是执行try中代码,那么就返回try中的返回值。
    如果try抛出异常,catch捕获异常,执行完毕后就输出最终的return返回值。
    public Sring testException(){try{System.out.println("try开始执行");String str = null;str.length();//空指针异常System.out.println("try执行完毕");return "try中的返回值";//事先约定好 返回值}catch(Exception e){//e.printStackTrace();//打印输出异常的名字System.out.println("捕获到了异常");}finally {System.out.println("finally块执行啦");}return "最终的返回值";}public static void main(String[] args){String result = new TestExceptoin().testException();System.out.println(result);}

(二)、 throws抛出

  1. 异常只能在方法上抛出 属性是不能处理异常的。
  2. 方法 构造 main函数等这些都能抛出异常。
  3. 方法可以抛出不止一个异常 通过,隔开。
  4. 抛出的异常与多个catch类似 要么没关系 要么先抛出小异常。
    // public TestException() throws NullPointerException{}//在构造方法上也能抛出异常。public String testException() throws NullPointerException,StringIndexOutOfBoundsException,Exception{String str = "abc";str.length();str.charAt(10);return "最终的返回值";}public static void main(String[] args){//System.out.println(10/0);TestException te = new TestException();try {te.testMyException();}catch (Exception e){e.printStackTrace();}}

五、自定义异常

  1. 自己描述一个异常的类
  2. 让我们自己的类继承
    如果继承是RuntimeException---->运行时异常(不需要必须添加处理手段)
    如果继承是Exception-------------->编译时异常(必须添加处理手段)
  3. 创建一个当前自定义异常类的对象
    通过throw关键字 主动产生异常
  4. 当我们设计描述的方法(事情) 之前没有相关的异常能描述我的问题Box
    这个时候才会利用自定义异常来描述
package testthrowable;
public class MyException extends Exception{public MyException(){}public MyException(String msg){super(msg);}
}
package testthrowable;public class TestException {//来设计一个方法 测试自定义异常的使用public void testMyException() throws MyException{System.out.println("测试自定义异常的方法执行啦");if(3>2){//若满足某个条件throw new MyException("说明一下异常的具体问题");}}public static void main(String[] args){TestException ex = new TestException();try{ex.testMyException();}catch(Exception e){e.printStackTrace();}}
}
http://www.lbrq.cn/news/1412119.html

相关文章:

  • 帆布网站做哪个/百度框架户开户渠道代理
  • 江门企业网站建设公司/石家庄最新新闻事件
  • 帮公司做网站赚钱吗/宁波seo推广
  • 黔东南网站建设gzklyy/指数工具
  • 社交网站页面设计/危机公关处理
  • 品牌网站建设四川/企业宣传片视频
  • 小程序转换成网页/海阳seo排名优化培训
  • 网站的网络公司/广告推广软文案例
  • 网彩预测网站制作教程/在线营销推广
  • 个人php网站/免费发布活动的平台
  • 做配色的网站/天天外链官网
  • 网站开发2008/宜昌seo
  • 做更好的自己 网站/打字赚钱平台 学生一单一结
  • 沈阳网站建设技术公司排名/百度怎么推广
  • javascript做网站重要吗/网络营销的整体概念
  • 免费b2c的网站有哪些/抖音seo关键词优化
  • 阿里云iot网站开发/域名注册查询网站
  • 江门百度网站快速优化/外链链接平台
  • 做电子政务 网站/灰色词快速排名接单
  • 开发论坛网站/厦门网络推广培训
  • 做一家网站需要多少钱/在线crm
  • 电信网络服务商/山西优化公司
  • 购物网站开发 webstorm/国外免费建站网站搭建
  • 网站全景图怎么做/百度指数上多少就算热词
  • 做网站设计需要哪些知识/网络营销考试答案
  • 开设计公司客源哪里找/安卓系统优化软件
  • 成都网站公司/域名购买
  • web网站开发个人主页/百度代发排名
  • 深圳做网站哪家公司好/百度关键词竞价
  • 网站主体负责人/sem竞价广告
  • 机器学习(决策树)
  • AI 在金融领域的落地案例
  • Python实战--基于Django的企业资源管理系统
  • Nextcloud 私有云部署:cpolar 内网穿透服务实现安全远程文件访问
  • 【LLM】文献阅读-ISOLATE GPT:基于大语言模型的执行隔离架构
  • SCAI采用公平发射机制成功登陆LetsBonk,60%代币供应量已锁仓