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

新乡做网站哪家好域名查询138ip

新乡做网站哪家好,域名查询138ip,深圳网站设计招聘网,福州公关公司Java的异常体系是Java语言中用于处理程序运行过程中可能出现的错误的机制。通过异常处理,程序可以在遇到问题时自动反馈,从而避免程序崩溃。Java异常体系中包含两大类:错误(Error)和异常(Exception)。 一、错误(Error&#xff09…

Java的异常体系是Java语言中用于处理程序运行过程中可能出现的错误的机制。通过异常处理,程序可以在遇到问题时自动反馈,从而避免程序崩溃。Java异常体系中包含两大类:错误(Error)和异常(Exception)。

一、错误(Error)

1.1 概念

错误是指程序在运行时发现的非法操作,例如语法错误、逻辑错误或资源未找到等,会导致程序崩溃,无法继续执行后续代码。错误是由JVM产生和抛出的。

1.2 Error举例

1.2.1 栈溢出错误

public class test {public static void main(String[] args) {run();}public static void run(){run();}
}

运行结果 

二、异常(Exception)

2.1 概念

异常是在程序正常执行过程中由于某个意外条件引发的事件,异常可以由错误引起的,也可以是应用程序中不小心出现的问题。

异常又可分为受检异常(非运行时异常)和非受检异常(运行时异常)。

2.2 受检异常(非运行时异常)

受检异常时程序还未执行是就发现了的异常,从语法角度上是必须处理的异常,如果不解决就无法编译通过。包括ClassNotFoundException、IOException等。

将鼠标移动到forName处,会提示添加异常到方法签名,即代码为

public class test {public static void main(String[] args) {run();}public static void run() throws ClassNotFoundException {Class clazz = Class.forName("com.qcby.util");}
}

2.3 非受检异常(运行时异常)

非受检异常是由程序逻辑产生的异常,编译器检测不到,在运行期间被发现的异常,包括数组越界IndexOutOfBoundsExpection、空指针异常NullPointerExpection等。

数组越界异常

public class test {public static void main(String[] args) {run();}public static void run(){int[] arr = {1,2,3};System.out.println(arr[3]);}
}

运行结果 

注:错误(Error)异常(Exception)有一个共同的父类:Thorwable,Java异常体系整体结构如下:

三、处理异常

Java中处理异常的方式分为两大类:throws(抛出异常)try-catch-finally(解决异常的方式)

3.1 try-catch-finally

3.1.1 try-catch-finally讲解

try-catch-finally:检查异常的代码,不会影响到其他代码的执行

比如在受检异常的例子中我们对forName异常进行了抛出:

抛出后会发现main()中的run()方法也被标红,这是因为run()方法抛出了异常,main()作为run()方法的调用者,也要抛出异常,但是在这里可以使用try-catch环绕进行解决:

public class test {public static void main(String[] args) {try {run();} catch (ClassNotFoundException e) {e.printStackTrace();   //打印异常}}public static void run() throws ClassNotFoundException {Class clazz = Class.forName("com.qcby.util");}
}

try-catch-finally解释:尝试执行try代码块之中的代码,若不能正常执行,则执行catch代码块中的代码,catch代码块之中的代码用于抛出异常,如上述代码为打印出异常。无论代码能否正常执行,finally之中的代码都会执行。

try-catch-finally结构如下(可以有多个catch{}):

try{//可能出现异常的代码块
}catch(ExpectionName1 e){//一旦产生了这个异常应该做的措施
}catch(ExpectionName2 e){//一旦产生了这个异常应该做的措施
}finally{//无论成功还是失败都要执行的代码//一般都是做资源的清除
}

补充:所有的异常的父类都是Expection异常。

因此,多个catch{}可以合并为:

try{//可能出现异常的代码块
}catch(Expection e){//产生异常应该做的措施
}finally{//无论成功还是失败都要执行的代码//一般都是做资源的清除
}

3.1.2 try-catch-finally使用举例

(1)不采用try-catch-finally

public class test {public static void main(String[] args) throws ClassNotFoundException {run();System.out.println("--------------------");}public static void run() throws ClassNotFoundException {int[] arr = {1,2,3};System.out.println(arr[3]);}
}

运行结果

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3at com.qcby.test.test.run(test.java:10)at com.qcby.test.test.main(test.java:5)

(2)采用try-catch-finally

public class test {public static void main(String[] args) {try {run();} catch (ClassNotFoundException e) {e.printStackTrace();}finally {System.out.println("--------------------");}}public static void run() throws ClassNotFoundException {int[] arr = {1,2,3};System.out.println(arr[3]);}
}

运行结果

--------------------
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3at com.qcby.test.test.run(test.java:15)at com.qcby.test.test.main(test.java:6)

try-catch-finally包裹住异常的代码,不会影响其他代码的执行

3.2 throws

throws:不尝试解决异常,将异常抛出,交给有能力解决的方法取解决。

throw关键字:抛出异常,thorw用来自定义异常,提示方法的调用者

3.2.1 相关代码

public class test {public static void main(String[] args) throws Exception {run();System.out.println("--------------------");}public static void run() throws Exception {throw new Exception("这个方法可能存在问题");}
}

3.2.2 运行结果

Exception in thread "main" java.lang.Exception: 这个方法可能存在问题at com.qcby.test.test.run(test.java:9)at com.qcby.test.test.main(test.java:5)

http://www.dtcms.com/wzjs/223303.html

相关文章:

  • 网站模板整站爱站网收录
  • 深圳优化网站公司东莞做网站推广公司
  • 加强人社局网站建设搜索引擎排名优化
  • 做包装的网站常州网络推广seo
  • 免费网站建设哪个好 - 百度软件推广接单平台
  • 需要个网站促销式软文案例
  • 安阳房产信息网seo专员是什么职业
  • wordpress临时文件夹网站关键词排名优化价格
  • phpcms手机网站南宁seo排名收费
  • 河南省住房城乡和建设厅网站首页阿里指数网站
  • 做电影网站的程序利尔化学股票股吧
  • 安卓做网站青岛网站建设与设计制作
  • 建设部网站监理工程师百度开放云平台
  • 云南网站建设公司有哪些百度快照怎么优化排名
  • 做读书网站的前景电商运营方案计划书
  • 怎样做3d动画短视频网站app平台搭建需要多少钱
  • 重庆购务网站建设数据分析网站
  • 网站空间邮箱每年要续费吗太原seo排名优化公司
  • 帮人做网站怎么收费网页设计与制作案例教程
  • 我想弄个自己的卖货网站怎样做长沙官网seo
  • 帮做论文网站吗百度第三季度财报2022
  • WordPress外链方法seo推广优化培训
  • app 网站可以做的免费推广广告推广有哪些平台
  • 企业网站 响应式工具大全
  • 网站别人帮做的要注意什么手续ui设计公司
  • 网站做弹窗广告吗模板免费网站建设
  • 网页浏览考拉seo
  • 商洛网站设计各大网站的网址
  • 展示型网站设计今日国内新闻
  • 北京建设网站 公司百度怎么注册自己的店铺