Java面试篇基础部分-Java中的异常以及异常处理

createh53个月前 (02-01)技术教程28

在实际的开发过程中,往往会遇到各种各样的编程异常,如何处理这些异常,直接会影响到整个程序和系统的稳定性,如果不能在合适的地方抛出合适的异常或者是对异常进行捕获。那么就会影响到整个程序的运行。所以如何处理异常,是作为每个开发者来说必不可少的开发技能。

异常相关概念

Java中的异常是指,程序运行不能通过正常的方式来完成,可以通过抛出异常的方式来退出程序或者是退出某个方法,在异常中封装了方法执行过程中有可能出现的问题信息以及问题原因,在检查的时候也有利于程序员发现自己的问题。

在方法执行的过程中,当出现异常的时候,Java语言的异常处理机制会将代码的执行权交给异常处理器,异常处理器根据在系统中定义的异常处理规则执行不同的异常处理逻辑(抛出的异常或者捕获处理异常)。

异常的分类

如图所示,在Java中Throwable作为错误或者异常的父类,Throwable有可以分为Error和Exception。常见的Error有AWTError、ThreadDeath,而Exception又可以分为RuntimeException和CheckedException。等等

Error是指Java程序的运行错误,如果程序在启动的时候出现Error,则整个程序都会启动失败;如果程序在运行过程中出现Error,则整个的程序将会退出进程。出现Error通常是因为系统的内部错误导致或者是系统资源消耗殆尽所引起的,Error不能被在运行过程中被动态处理。如果程序出现了Error,则系统所能做的工作只能是记录错误的原因或者是安全终止程序运行状态。

Exception是指Java程序在运行过程中出现的异常,也就是程序在执行的过程中执行了开发者不想看到的代码,这样的异常是可以被Java的异常处理机制所处理的。Exception是整个的Java程序代码中最为核心的处理类。可以分为运行时异常RuntimeException和检查异常CheckedException。

RuntimeException:是指在程序运行过程中出现异常,RuntimeException可以被捕获并且处理,不会影响其他程序运行部分的结果。如果出现了RuntimeException,一定是程序中的某个逻辑出现了问题导致。常见的异常有NullPointerException、
ArrayIndexOutOfBundsException等等。

CheckedException:是指在程序编译的时候Java编译器会检查代码并且捕获CheckedException,这就要求程序在需要的地方添加try catch语句来捕获并处理异常,常见的CheckedException有ClassNotFundException、SQLException等等。

异常处理方式

Java中异常处理的方式有两种,一种是自己利用try catch代码块进行捕获,另一种是抛出异常让异常处理机制进行处理。

  • 抛出异常:当我们在开发过程中,遇到异常如果不进行具体的处理,那么就要将异常抛出到调用者进行处理。而调用者有可能直接处理异常,也有可能继续向上抛出异常,常见的异常抛出的方式有三种形式 throws、throw、系统自动抛出异常。其中throws作用在方法上,可以抛出多个异常。throw作用在方法内,表明明确抛出的异常。
  • 使用try catch代码块进行捕获:使用try catch捕获异常的时候能够针对具体的某种异常进行处理,并且在捕获到异常之后进行相关内容的具体处理代码。


Throws与Throw的区别

  • 位置不同:Throws是作用在方法上的,而throw是作用在方法内部的
  • 功能不同:throws用来声明方法在运行过程中可能出现的异常有哪些,方便调用者可以根据不同的异常,进行预先的异常处理操作,throw 用来抛出已经封装好的异常对象,程序执行到throw的时候后续的代码将不会在执行。而是跳转到调用者的异常处理机制进行处理完成,也就是说throw后面的语句将无法执行,前提是除了finally代码块。



相关文章

终于有人把所有的Java异常处理方法给总结出来了

背景 最近专门负责团队的项目质量。我在治理异常日志过程中,总结了一下Java的异常处理。上面是我整理的最近自己比较常见的异常知识地图。异常知识地图概述 从异常知识地图最左边的根开始看,地图从左到右...

初识java—(四十七)异常处理(异常处理 java)

Java的异常机制主要依赖于try、catch、finally、throw和throws五个关键字,其中try关键字后面紧跟着一个花括号括起来的代码块,它里面放置可能会引发异常的代码块。catch后面...

异常处理,JAVA中异常处理的介绍(java中异常处理机制是怎样的)

异常处理的介绍在Java程序的运行过程中,如果Java虚拟机检测出一个无法执行的操作,就会产生运行时错误(runtime error)在Java中,运行时错误会作为异常来抛出。抛出的异常是一个对象,该...

JAVA中异常,你都理解了吗?(java异常处理规则(新手必看))

人非圣贤,孰能无过,何况语言。JAVA有成熟的异常处理机制,正确使用它可以帮我们解决程序的健壮性。1.Java中的异常机制java异常类图:Error一般不会出现,大多数非正常的情况,比如内存溢出等。...

关于Java Exception异常的深入用法及实例

关于Java Exception异常的深入用法及实例一、异常的概念生活中的异常:例如感冒发烧,工作时电脑蓝屏、死机等。程序中的异常:在程序运行的过程中,也会发生这种非正常状况,例如程序运行时磁盘空间不...