异常他不是错误而且一种提醒,为了解决一些异常错误。出现错误了不要烦躁,要保持好心态,心态最重要
遇到了错误要觉得又有吸取经验的时候了。只要保持好了这种心态才能够解决好错误到底怎么发生的。
找出错的代码首先看类名,不要去看那些没用的东西,报错了只要找到你认识的那个类名,然后点击他
找到那个错误,如果找到了那个错误但是还是看不出到底在哪里出问题了那么可以把那句出错的代码先给注
释掉然后运行他。还可以使用打印System.out.pritnln();打印一下错误的代码。
异常家族: 异常类的祖先是Throwable他里面诞生了Error(错误)和Exception(异常)。Exception里面又诞
生了RuntimeException(运行时异常)。如图9.1所示:
图9.1
每一个错误都会有对应的异常类是因为每一个错误都是通过类名来表示的,所以每个错误都需要定制异
常类,Throwable他是最大的一个错误类,Error他是解决比较严重的错误,Exception是解决一些不那么严重
的错误,RuntimeException是解决更不严重的错误。
出现了异常我们要怎样去捕获错误,怎样才能解决异常错误。就比如旅游的景区他里面的设计肯定会有
一些救助站的如果出现了问题,那么这个救助站就会马上捕获进行救治。
在程序里面如果程序出现了问题也是要捕获进行救治问题那个问题,那么程序里面他就发明了一个try
catch语句。这个语句是一个小的捕获的语句结构,try里面是可能会出错的代码,catch就是陷阱,就是如果
有出错的代码就会跳进这catch里面进行救治。比如浏览的景区try里面包围了这个景区,如果有人感染了花粉
那么就会进入catch里面catch就好比是陷阱挖好了等着进行救治。不同的问题就有不同的陷阱等着救治。如
果有人被打了,那么就会进入被打的catch陷阱里面进行救治。如图9.11所示:
图9.11
只要出现了问题往救助站里面跑就可以了,我们的程序也是如此,代码发生了错误那么就要挖出对应的
陷阱,一但代码错误了就往代码里面跑那么就行了。所以陷阱就是准备捕获这个try里面可能会出错的代码,
而且可以写多个陷阱。如图9.12所示:
图9.12
10/0是错误的会报出ArithmeticException不能被零整除的错误。那么我们就用try包起来,然后catch里面
放入不能被零整除的陷阱来捕获,如图9.13所示:
图9.13
如果执行的过程种出现了错误,那么就会出错误开始抛出跳到了陷阱里面,而下面的代码不再执行如图
9.14所示:
图9.14
只要出错了他下面的代码不管怎样都不会执行,想让下面的代码执行那么就必须没有出错那么才会执
行,没有出错那么他就不会跳转到catch里面 如图9.15所示:
图9.15
catch就是一个预防区域,预防他出不出问题,如果出现了问题就马上进行捕获处理。
如果又有一个错误空指针错误,但是没有捕获那个陷阱的话,那么他的错误还是会被捕获出来如图9.16
所示:
图9.16
因为没有处理空指针的陷阱所以还的给他挖一个空指针的陷阱接收他的错误如图9.17所示:
图9.17
代码里面出现了什么错误那么就会找到对于的错误处理,这就是他的错误处理机制。异常是预测的 预测
可能会发生的问题,就是觉得这句代码会出错那么就把他给包起来。
那么如果代码里面还有其他的错误怎么办?那么如果在出现了错误就可以在后面挖一个Exception陷阱,
这个陷阱是Exception的通用陷阱只要是Exception的错误那么都可以进来。Exception这个陷阱只能写在后
面,因为他是父类,所有带有后缀为Exception的那么都是继承Exception或者是RuntimeException。
那么这样的话今后是不是不用挖对应的陷阱了?直接就用通用的陷阱?其实不是这样的通用的陷阱虽然
好但是他还是要分清楚到底是什么错误的那样的话就很浪费时间了,所以有时候还是要分散开来才知道到底
是哪个代码的错误。
为什么有些代码必须要用try catch包围起来才可以呢?如果这个错误的信息继承的是RuntimeException
的错误作为父类那么他可以不用强制要求人家书写try catch语句 如果他的错误直接继承的是Throwable、
Error、 Exception那么就如果调用此方法他有错误就必须强制要求要用try catch包围起来。
如果是内存溢出那么如果你用Exception的通用去捕获他肯定是没有用的,因为内存溢出他是属于Error
的错误 如图9.18所示:
图9.18
为什么catch没有捕获他的错误?因为这个是Error比较严重的错误,所以需要用Error来捕获他如图9.19所示:
图9.19
如果想要捕获所有的Exception错误那么就写上Exception。如果要捕获Error那么就写上Error就行了。如
果2种系列的错误都想要捕获那么就使用Throwable 他可以捕获所有的错误是无限的,如果不知道错误是
Error的还是Exception的那么就可以用Throwable来捕获。
try catch嵌套:
嵌套 try可以没有catch,如果没有catch那就必须要有finally。try catch嵌套,如果里面没有对应的陷阱
捕获 那么就会找外面的陷阱进行捕获。如图9.110所示:
图9.110
他是这样的,遇到错误他就看是不是对应的错误,不是那么就往外抛,抛到对应的陷阱里面。嵌套try
catch 没有对应的陷阱那么就找外面的,所以这个是抛给上一级。
技术分享:www.kaige123.com
相关推荐
Java 异常处理习题 Java 异常处理是 Java 编程语言中的一种重要机制,用于处理程序在运行时可能出现的错误或异常情况。下面是关于 Java 异常处理的习题和知识点总结: 一、Java 异常处理关键字 * Java 中用来抛出...
java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理java异常处理
本文将从 Java 异常的基本概念和语法开始,讲述 Java 异常处理的基本知识,分析 Java 异常体系结构,对比 Spring 的异常处理框架,阐述异常处理的基本原则,并提出了自己处理一个大型应用系统异常的思想,并通过设计...
### Java异常处理 #### 一、异常的基本概念 在编程领域中,异常是指程序在运行过程中遇到的问题或错误状态,这些问题通常会导致程序无法按照预期的方式继续执行。在Java语言中,异常处理是一种重要的机制,用于...
Java异常处理是编程中至关重要的一个环节,它允许开发者优雅地处理程序运行时可能出现的错误,确保程序的健壮性和稳定性。Java中的异常处理机制基于一个独特的概念——异常(Exception),这是一种表示程序运行中...
这个主题,"Java异常处理体系",涉及到Java如何优雅地处理程序运行时的异常,确保程序的健壮性和稳定性。这篇博文链接(已提供但无法直接访问)可能详细解释了Java异常处理的基本概念、机制以及最佳实践。 Java异常...
### 浅析JAVA异常处理机制 #### 一、Java异常处理机制概述 异常处理是Java语言中的一个重要机制,它能够确保程序在遇到不可预料的情况时仍能维持稳定运行。异常处理主要包括三个方面:捕获异常、控制程序流程以及...
Java异常处理是编程中至关重要的一个环节,它确保了程序在遇到错误时能够优雅地运行,而不是突然崩溃。本篇文章将深入探讨Java异常处理的概念、机制以及如何通过代码实例进行有效的异常管理。 Java异常处理的核心...
Java异常处理设计是Java编程中一个至关重要的环节,它直接影响到程序的稳定性和可维护性。在Java中,异常处理是通过try-catch-finally语句块来实现的,主要涉及两大类异常:编译时异常(Checked Exception)和运行时...
Java异常处理的9个最佳实践涵盖了开发者在进行Java编程时应当遵循的一系列规则和方法,以确保代码的健壮性和可维护性。异常处理是编程中的一个重要部分,它能够帮助我们更有效地管理和响应程序运行时的错误情况。 ...
### 深入理解Java异常处理机制 #### 引言 异常处理机制是任何现代编程语言不可或缺的一部分,尤其是在像Java这样的面向对象的语言中更是如此。Java的异常处理机制旨在帮助开发者编写更健壮、更易于维护的代码。...
Java异常处理是Java编程语言中的一个关键特性,它允许程序员优雅地处理程序运行时可能出现的错误和不正常状况。在Java中,异常是程序执行过程中出现的问题,它们中断了正常的控制流程,使得程序无法继续按照预期的...
Java异常处理是Java编程中一个至关重要的概念,它关乎到程序的健壮性和稳定性。在Java语言中,异常处理提供了一种机制,使得程序在遇到错误或非正常情况时能够优雅地处理问题,而不是突然崩溃。这个“java高端技术...
通过遵循上述最佳实践,开发者可以编写出更健壮、可维护的Java代码,有效地利用Java异常处理机制来提高程序的稳定性。同时,阅读并理解"Effective Java Exceptions"文档可以帮助进一步深化对Java异常处理的理解。
从给定的文件内容中可以看出,这是一系列Java程序示例,它们用来说明Java异常处理机制。异常处理是Java语言中一个非常重要的部分,它能够帮助程序在遇到错误情况时仍然可以正常运行或者优雅地退出。这些程序通过各种...
java异常练习题,北大青鸟学士后课后练习,主要是异常处理的小测验
以下是对Java异常处理的一些误区和经验总结。 **误区一:过度使用try-catch块** 有些开发者习惯于在每个函数的开始部分都套用try-catch块,以为这样可以捕捉所有可能出现的异常。实际上,这种做法使得代码变得混乱...
零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理零基础学Java异常处理...