异常总结
什么是异常:导致程序出错,中断的原因。
常见异常:数组下标越界,空指针异常,文件不存在,栈溢出,值为负(取随机数),强制类型转换。
异常的分类:
运行时异常:
数组下标越界,空指针异常,
下标越界:
int array[]=new int [10];
array[10]=10;
强制类型转换:
Object stu=new Student();
Teacher tc=(Teacher)stu;
Student 和 Teacher两个类之间没有继承关系,不能进行强制类型转换
UNStudent stu=new UNStudent ();
Student st=(Student)stu;
两个类之间有继承关系,可以进行强制类型转换
值为负:
java.util.Random rd=new java.util.Random(); //产生一个随机数
rd.nextInt(-1);
栈溢:
死循环或无限递归
public static void main(String []args){
对象.show(); //无限递归导致系统栈溢
}
public void show(){
...
}
出现运行时异常时,程序可以继续进行。
强制性异常:
File temfile=new File("");
temfile.createNewFile();
出现强制性异常时,程序终止。
异常的处理机制:
try catch处理机制
try{
可能出现问题的代码
如果没出现问题,则向下执行。
}catch{
出现问题时执行的代码
}
如: try{
temfile.createNewFile();
System.out.println("文件已创建");
}catch{
System.out.println("文件创建失败");}
throws 处理机制
如果有多个异常,可以用多个catch来捕获问题
try{
可能出现问题的代码
如果没出现问题,则向下执行。
}catch{
出现问题时执行的代码
}catch{
...
}
try{
temfile.createNewFile(); //a问题出错
Robot rb=new Robot(); //b问题出错
}catch(a){
System.out.println("文件创建失败"); //a出问题时执行的代码
}catch(b){
... //b出问题时执行的代码
}
如果a问题出错,则跳过后面的代码执行第一个catch
也可以对异常的父类进行捕获
try{
temfile.createNewFile(); //a问题出错
Robot rb=new Robot(); //b问题出错
}catch(Exception ef){
ef.printStackTrace(); //让异常对象ef打印出出错原因
...
}
finally语句:不管代码是否出现异常,都会执行的代码
try{
...
}catch{
...
}finally{
...
}
注:try,catch,finally均不能单独使用,try可以和catch,finally组合使用,catch可以有多个,而finally最多有一个。
throws处理机制:
throws抛出异常,当一个程序出现一个异常时,不知道怎么处理,使用throws,将异常抛到它的调用者那里。
throws与throw的区别:
throws用来声明一个方法中可能出现异常的所有信息,而throw用来抛出一个具体的异常对象。
在某种条件下抛出异常
public void test() throws Exception{
...
if(){
throw new MyException();
}
}
***将异常转型
public void test() throws Exception{
...
try{
...
}catch(Exception e){
...
throw new MyException();
}
}
异常信息的分析与程序调试
出现异常时:
了解异常的类型 (在jdk中查找)
找到异常的位置
分析出错原因
改错
方法调用:A->B->C->D
异常向上传递:main()<-A<-B<-C<-D(在D中出现异常);
抛出异常的位置:
用System.out.print()进行判断。
自己写软件时使用 try catch处理异常,而在写第三方插件时用throws,将异常抛给使用者。
分享到:
相关推荐
### 常见JAVA异常总结 #### 1. `java.lang.NullPointerException` `java.lang.NullPointerException` 是一种运行时异常,表示程序试图在需要对象的地方使用了 `null`。例如,通过对 `null` 引用调用实例方法或访问...
### Java异常总结与详解 #### 引言 在Java编程中,异常处理是软件开发过程中不可或缺的一部分。良好的异常处理能够帮助我们及时发现并解决问题,从而提高程序的稳定性和健壮性。本文旨在全面总结Java中常见的异常...
Java异常处理是编程中至关重要的一个环节,它帮助开发者识别并修复程序运行时出现的问题。在Java中,异常被组织成一个层次结构,根类是`java.lang.Throwable`,它有两个主要的子类:`Error`和`Exception`。`Error`...
### Java异常处理总结 #### 一、Java异常的基础知识 在Java编程中,异常处理是一项极其重要的技术。异常处理能够帮助开发者优雅地处理程序运行时遇到的问题,避免程序崩溃,并提供给用户友好的反馈信息。 **什么...
下面是关于 Java 异常处理的习题和知识点总结: 一、Java 异常处理关键字 * Java 中用来抛出异常的关键字是 `throw`。 * `try`、`catch` 和 `finally` 是 Java 异常处理的三个主要组成部分。 二、异常处理机制 *...
### Java常见异常总结 在Java开发过程中,遇到各种异常是在所难免的。为了更好地理解和处理这些异常,本文将详细介绍几种常见的Java异常类型及其处理方法。 #### 1. `java.lang.NullPointerException` - **异常...
以下是对Java异常处理的一些误区和经验总结。 **误区一:过度使用try-catch块** 有些开发者习惯于在每个函数的开始部分都套用try-catch块,以为这样可以捕捉所有可能出现的异常。实际上,这种做法使得代码变得混乱...
本文主要总结了Java异常处理机制及其相关知识点。 首先,异常机制是Java中用于处理程序运行时错误的框架。当程序执行过程中遇到问题,异常机制会提供一个安全的出口,使得程序控制权能够转移到预先定义的异常处理器...
### Java异常学习总结 #### 一、Java异常概述与分类 在Java开发中,异常处理是确保程序稳定性和健壮性的关键部分。本篇总结了Java异常的基本概念、分类及处理方式等内容,对于从事Java开发的技术人员具有重要的...
总结,Java异常框架是保证程序健壮性和可维护性的重要部分,它提供了优雅的方式来处理错误情况,同时允许代码的结构保持清晰。对于Web服务开发,如使用Jersey,异常处理更加关键,因为它直接关联到对外接口的响应...
### Java常见异常总结 在Java编程中,遇到异常是家常便饭,它们是程序运行过程中出现错误的信号。为了帮助开发者更好地理解和处理这些异常,本文将深入探讨一系列常见的Java异常,涵盖从基本的`ArithmeticException...
Java异常处理是编程中至关重要的一个环节,它确保了程序在遇到错误时能够优雅地运行,而不是突然崩溃。本实验报告“java实验报告4-异常处理”旨在帮助初学者掌握Java中的异常处理机制,以及如何利用log4j进行日志...