1.什么是异常?
所谓异常即是指可能由于外部系统的,导致程序可能出错或中断的原因。
2.常见的一些异常
空指针 NullPointerException
数组下表越界 ArrayIndexOutOfBoundsException
栈溢出
文件不存在 UnsupportedOperationException
类型转换异常 ClassCastException
参数为负数 IllegalArgumentException
算术错误 ArithmeticException
3.异常的分类:
首先,异常分为强制异常和非强制异常。
非强制异常是指那些因为程序出错或者说以为代码问题而导致的错误,如上面所写的空指针,数组下标越界,类型转换异常等等,因为代码而导致程序出错。
强制异常是指一些程序员未能解决的一些程序漏洞,为了防止出错,抛出的异常。这种异常是有程序员考虑故意抛出所形成的。强制异常是可以再JDK的API中具体寻找
4.非强制异常的分析与处理方式
(1).根据异常类,来确定异常是有上面原因形成,可以在(JDK的API中查询)
(2).异常类后边一般会有提示信息,可以进一步诊断。
(3).找到出错的位置,找到第一个由自己写的类,然后双击,就能找到出错行。
(4).分析自己代码出错的原因,可以用输出函数即System.out.println();判断程序运行到哪里出错的《《《《号称最强大的检测方法。
(5).找到出错位置修改成正确的代码
5.强制异常从哪里来:
前面已经说过,强制异常一般是程序员自己不能解决防止出错自己抛出的,或者不愿解决异常继续向外抛出的。所以强制异常一般的来源是:要么是自己不能解决漏洞抛出的,要么是不愿解决或解决不了继续向外抛出的。
6.强制异常的分析和处理方式:
面对强制异常,我们一般有两个解决方式,要么就解决这个异常,要么就把异常继续向外抛,让调用的人自己去解决,即别人帮你解决。
(1)自己解决异常:
一般自己解决异常都常用try,catch,finally处理机制,如try{
file.createNewFile();
}catch(FileNotFoundException ffe){
}finally{
}
这里就解决了创建文件时所抛出的异常,catch中所写应为如果出错,那么执行的代码,finally中所写一般为不管是否出现异常都要执行的代码,如有时需关闭程序等操作就可以写入其中。
值得注意的是,如果try中有两个可能抛出异常的代码,应相应的用两个catch来解决异常,但如果第一个抛出异常,将不会执行第二个代码。
如try{
file.createNewFile();
new Robot();
}catch(FileNotFoundException ffe){
}catch(AWTException e){
}finally{
}
如果file.createNewFile(); 抛出异常,则new Robot();不再执行,而是直接跳到catch(FileNotFoundException ffe)中去。
(2)继续向外抛出
有的时候我们也不能解决异常,或者没必要,或者不想解决这个异常的时候,就可以继续向外抛出异常,程序员向外抛出异常的时候,要用到throw,向外抛出一个异常,而当我们继续向外抛出的时候则需要用到关键字throws
如:publuc class createfile throws IOException{
File file = new File(path);
file.createNewFile();
}
这样我们就继续向外抛出了这个异常,留给别人解决。值得注意的是,这种方式虽然简单,但是却没有解决实际问题,所以要慎用。
(3)注意两种方法的使用范围
一、自己写软件时,由于是直接面对客户,所以出现异常就必须要处理掉,尽量不要往外抛出异常,这样体验度才会高。
二、写第三方的插件时,就要想着外抛出异常,否则当出现错误的时候,别人却找不到出错源,会到来很多麻烦,所以就不需要去处理异常。
7.Debug模式调试错误
在java中有一种Debug的调试模式,可以用来调试,找出错误源,对于熟悉的人可能比较方便,但对于不熟悉的人来说,反而会很麻烦。所以在对异常进行处时,个人建议还是用史上最强大的调试方式,System.out.println(); 功能强大,使用方便,范围广泛,不用不知道,一用吓一跳!是居家旅行,调试查错的必备方法,是程序员的春天!
8.that's all,thank you !!
分享到:
相关推荐
Java内存机制是Java虚拟机(JVM)的关键组成部分,它管理着程序运行时的数据存储。在Java中,内存主要分为以下几个区域: ...正确理解和运用Java内存机制以及异常处理机制对于开发健壮、高效的Java应用程序至关重要。
14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理...
### 浅析JAVA异常处理机制 #### 一、Java异常处理机制概述 异常处理是Java语言中的一个重要机制,它能够确保程序在遇到不可预料的情况时仍能维持稳定运行。异常处理主要包括三个方面:捕获异常、控制程序流程以及...
Java 异常处理是 Java 编程语言中的一种重要机制,用于处理程序在运行时可能出现的错误或异常情况。下面是关于 Java 异常处理的习题和知识点总结: 一、Java 异常处理关键字 * Java 中用来抛出异常的关键字是 `...
Java 异常机制的基础知识包括异常的基础概念、异常的分类、异常的对象、异常的来源、异常的处理等几个方面。 一、Java 异常的基础知识 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以...
### 深入理解Java异常处理机制 #### 引言 异常处理机制是任何现代编程语言不可或缺的一部分,尤其是在像Java这样的面向对象的语言中更是如此。Java的异常处理机制旨在帮助开发者编写更健壮、更易于维护的代码。...
Java异常处理是编程中至关重要的一个环节,它用于在程序执行过程中捕获并处理错误情况。异常机制使得程序能够优雅地处理错误,而不是因为意外情况而突然终止。在这个例子中,我们将探讨如何自定义异常以及如何在Java...
JAVA的异常处理机制 java学习,值得学习
通过遵循上述最佳实践,开发者可以编写出更健壮、可维护的Java代码,有效地利用Java异常处理机制来提高程序的稳定性。同时,阅读并理解"Effective Java Exceptions"文档可以帮助进一步深化对Java异常处理的理解。
java异常练习题,北大青鸟学士后课后练习,主要是异常处理的小测验
以下是关于Java异常处理机制的详细说明: 1. **什么是异常处理机制**: Java的异常处理机制是一种用于处理程序运行时错误的机制,它将原本需要程序员手动检查和处理的错误情况,转变为由系统自动检测和报告。当...
其中,使用Java异常处理机制实现全局异常统一处理是最常见的方式。 在Java异常处理机制中,当一个方法抛出异常时,该异常将被传递到调用该方法的方法中,直到找到能够处理该异常的代码为止。在这个过程中,Java使用...
java异常处理机制,异常的概念,发生的原因,throwable,捕获异常的简单思维导图
在静态编译器中实现Java异常机制的算法 Java 异常机制是 Java 语言中的一种重要机制,用于处理程序中的异常情况。在静态编译器中实现 Java 异常机制可以提高 Java 程序的执行效率和可靠性。下面将对在静态编译器中...
Java 异常处理机制提供了对这些错误的捕获和处理,把各种不同的异常进行分类,同时这种异常处理机制将处理异常的代码和正常的程序代码分开,使程序维护起来更加方便,也增强了程序的安全性、健壮性和系统的稳定性。...
本文将详细介绍 Java 异常处理机制的应用研究,包括 Java 异常体系统结构、异常分类与处理机制、异常处理的一般原则和异常处理框架等。 Java 异常体系统结构 Java 异常体系统结构如图 1 所示,Throwable 是所有...
Java 异常处理机制及应用研究 Java 异常处理机制是 Java 程序设计的一大难点,也是使用 Java 进行软件开发时不容忽视的问题之一。是否进行异常处理直接关系到开发出的软件的稳定性和健壮性。对 Java 异常处理机制有...
"基于Java异常处理机制的分析" 本文主要讨论了Java异常处理机制的原理和应用。Java是一种面向对象的编程语言,对异常处理的支持非常出色。Java通过类来封装异常,并使用“try/ catch/finally”机制来处理异常,最后...