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

网站开发 占位符适合女生的十大热门专业

网站开发 占位符,适合女生的十大热门专业,百度为什么会k网站,seo排名啥意思7.Java异常知识总结(声明、抛出、捕获异常) 7.1异常定义 在程序运行过程中,如果JVM检测出一个不可能执行的操作时,就会出现运行时错误(runtime error)。在Java中,运行时错误会作为异常抛出。异…

在这里插入图片描述

7.Java异常知识总结(声明、抛出、捕获异常)

7.1异常定义

  1. 在程序运行过程中,如果JVM检测出一个不可能执行的操作时,就会出现运行时错误(runtime error)。在Java中,运行时错误会作为异常抛出。
  2. 异常就是一种对象,表示阻止正常进行程序执行的错误或情况。如果异常没有被处理,那么程序将会非正常终止。

7.2异常类继承层次(与错误区分)

  1. 异常是对象,异常封装成类Exception,所有的异常都直接或间接继承自Throwable类。
  2. Throwable类有两个直接的子类,Error和Exception。
    1. 可以通过继承Exception或Exception的子类来创建自己的异常类。
    2. Exception是程序可以恢复的异常。如除零异常、空指针访问、网络连接中断、读取不存在的文件等。
    3. Exception类分为受检查异常和运行时异常
      • 受检查异常(必检异常):是除RuntimeException以外的异常,特点是编译器会强制程序员检查并通过try-catch块处理它们,或在方法头进行声明。如处理数据库异常的SQLException,处理读写异常的IOException
      • 运行时异常(免检异常):是继承RuntimeExceptionl类的直接或间接类。编译器不检查这类异常是否进行了处理,也就是对于这类异常不捕获也不抛出,程序也可以编译通过。一旦运行时异常时就会导致程序的终止。如访问一个数组的越界元素,会抛出一个IndexOutofBoundsException异常。

img

7.3异常的处理模型

Java的异常处理模型基于三种操作:

  • 声明一个异常
  • 抛出一个异常或者捕获一个异常

image-20240311111516403

7.3.1抛出异常(throws)

(1)throws关键字
  1. throws通常在方法首部的声明后抛出异常。

  2. throws抛出的是可能发生的异常。(并不一定会发生这些异常)

  3. 当该方法被调用的时候必须捕获,或者也可以再次抛出异常,最终由Java虚拟机处理。

  4. 用来声明一个方法可能产生的所有异常(用,分隔), 不做任何处理而是将异常往上传,谁调用我我就抛给谁

  5. 举例:

    class MyAnimation{  public Image loadImage(String s) throws IOException{...}
    }
    
(2)throw关键字
  1. throw关键字通常用在方法体中,并且抛出一个异常对象。

  2. throw则是抛出了异常,执行throw则一定抛出了某种异常

  3. 只能抛出一个异常对象

  4. 有两种方式捕获。要么自己捕获异常 try-catch 代码块,要么是抛出一个异常(throws 异常)

  5. 举例:

    String readData(Scanner in)throws EOFException{  while(...){    if(!in.hasNext())//遇到EOFException异常    if(n<len){      throw new EOFException();    }...  }
    }
    
(3)小结
  1. throw抛出一个异常对象时需要由函数的上层调用处理这个异常,此时,可以通过try-catch(finally)代码块,也可以通过throws进行抛出。(一定要处理)
  2. throws抛出一个可能的异常时可以不对此异常进行处理

7.3.2 捕获异常(try-catch-finally)

(1)try-catch-finally语句
try{//需要被检测的异常代码
}catch(Exception e){//异常处理,即处理异常的代码(打印异常信息并处理)
}finally{//一定会被执行的代码(通常可以进行资源的清除工作)
}
(2)try-catch语句
try{//需要被检测的异常代码
}catch(Exception e){//异常处理,即处理异常的代码(打印异常信息并处理)
}
(3)try-finally语句
try{//需要被检测的异常代码
}finally{//一定会被执行的代码(通常可以进行资源的清除工作)
}
(4)多catch语句
try{//需要被检测的异常代码
}catch(Exception e1){//异常处理,即处理异常的代码(打印异常信息并处理)
}catch(IOException e2){//异常处理,即处理异常的代码(打印异常信息并处理)
}	//可以通过catch处理多个异常。

7.3.3举例

public class TestException {//测试0boolean testEx() throws Exception{boolean res = true;try{res = testEx1();//执行}catch (Exception e){System.out.println("测试0,捕获异常");res = false;throw e;}finally{System.out.println("测试0, finally 最终返回的值 =" + res);return res;}}//测试1boolean testEx1() throws Exception{boolean res= true;try{res = testEx2();if (!res){return false;}return res;}catch (Exception e){System.out.println("测试1, catch捕获");res = false;throw e;}finally{System.out.println("测试1, finally最终返回值 =" + res);return res;}}//测试2boolean testEx2() throws Exception{boolean res = true;try{int b = 2;int c;for (int i = 2; i >= 0; i--){c = b / i;System.out.println("c="+c+"\ti=" + i);}return true;}catch (Exception e){System.out.println("测试2, catch捕获");res = false;throw e;}finally{System.out.println("测试2, finally最终值 =" + res);return res;}}
}//借鉴Angel_Kitty的例子

image-20240311145525739

7.4自定义异常

7.4.1自定义异常类

class CustomException extends Exception {private String customMessage;public CustomException(String message) {super(message);this.customMessage = message;}public String getCustomMessage() {return customMessage;}
}

7.4.2测试类—>并抛出自己的异常

class Example {public static void main(String[] args) {try {// 模拟条件触发自定义异常抛出int age = -1;if (age < 0) {throw new CustomException("年龄不能为负数");}} catch (CustomException e) {System.out.println("捕获到自定义异常:" + e.getCustomMessage());}}
}

·

http://www.15wanjia.com/news/184925.html

相关文章:

  • 网站超级推广淄博网站建设费用
  • 网站子域名什么意思设计一个软件需要多少钱
  • 买了域名后怎么建网站wordpress开头
  • 哪个网站做黑色星期五订酒店活动做笔记的网站源码
  • 网站前端做出来后台怎么做wordpress第三方登陆插件
  • 医疗网站建设策划书广告活动网站的策划
  • 支付公司网站建设会计分录怀柔网站建设优化seo
  • 学士学位网站重置密码怎么做规划展厅设计
  • qq邮件网站建设的模块网站建设 网站优化营销型网站建设专家
  • 上传资料网站天津市住房和城乡建设厅官方网站
  • visual studio网站开发教程php个人网站论文
  • wordpress做淘宝客网站深圳做网站google推广
  • 国内php开发的电商网站有哪些ps制作网站产品图片
  • 网站中文名天津网站制作建设
  • 啦啦啦资源视频在线观看8企业seo整站优化方案
  • 域名等于网站网址吗wordpress登入界面
  • 网站如何批量上传产品WordPress网页自动重定向
  • 中国建设门户网站上海网站建设兴策
  • 咸宁做网站哪家好新能源汽车价格表2021
  • 成都百度网站排名优化河池市城乡住房建设厅网站
  • 网站js代码检测国内外优秀设计网站
  • 设计师招聘网站怎么做自己的单机网站
  • 美团是最早做团购的网站么百度导航2023年最新版
  • 公司小网站怎么做温州网站设计方案
  • 网站域名备案证书下载视频号推广平台
  • 网站的虚拟主机到期网站开发需要注意的
  • 网站模板免费下载云资源注册个人订阅号
  • 做网站一定要实名认证吗服饰网站建设目的
  • 游戏运营备案官方网站798艺术区个人拍照图片及价格
  • 网站建设与维护要求网络营销推广系统排名推荐系统