`
Coco_young
  • 浏览: 127635 次
  • 性别: Icon_minigender_1
  • 来自: 湖南长沙
社区版块
存档分类
最新评论

JAVA异常小结

阅读更多

1.所谓异常就是程序员在编程过程中的逻辑错误,在JAVA里面有2类异常,一类是明文提示你必须要处理的异常:如

File fl = new File("");
fl.createNewFile();

  如上代码,如果你不处理,编译无法通过。

还有一类是不明文提示你要处理的异常:如NullPointerException

public class test{

  private String s;
  public static void main(String[] args){

      System.out.println(s);
   
  }
}

 这时,代码编译能通过,但是在运行时会出现NullPointerException的情况。

 

2.在JAVA里如何处理异常:

  在JAVA里提供了2种处理异常的办法:一种是使用try catch,另一种是使用throws,throw将异常抛出,让下一个调用者去处理。示例代码如下:

public class exception {

	private String str;

	/**
	 * 一个异常的测试类
	 * 
	 * @param args
	 */
	public static void main(String[] args) {

		File fl = new File("");

		if (fl.exists()) {
			System.out.println("文件存在!");
		} else {
			//使用try catch语句处理异常
			try {
				fl.createNewFile();
			} catch (Exception ef) {
				ef.printStackTrace();
			} finally {
				return;
			}
		}
            }
}

 

 

public class exception {

	private String str;

	/**
	 * 一个异常的测试类
	 * 
	 * @param args
	 */
	public static void main(String[] args) {

		File fl = new File("");

		exception ex = new exception();
		try {
			ex.testex();
		} catch (Exception def) {

			def.printStackTrace();
		}
	}

	// **
	// * 测试异常的抛出方法
	// *//
	public void testex() throws Exception {

		if (str.equals("123")) {
			System.out.println("Don't have NullPointException");
		} else {
			System.out.println("NullPointException");
		}

	}

	
}

 

 以上代码中的exception类的对象在调用抛出异常的testex()方法时必须处理异常,否则编译无法通过。

 

3.如何自定义异常

  首先创建一个自定义异常类,让它继承Exception类,然后在具体使用时用throws关键字抛出异常,代码如下:

 

package ExceptionT;

public class DefException extends Exception{

	/**
	 * 重写构造函数
	 */
	public DefException(String message){
		super(message);
	}
	

}

 

package ExceptionT;

import java.io.File;

public class exception {

	private String str;

	/**
	 * 一个异常的测试类
	 * 
	 * @param args
	 */
	public static void main(String[] args) {

		exception ex = new exception();
		try {
			ex.testthrow();
		} catch (DefException def) {
			//打印出异常信息
			System.out.println(def.toString());	
			
		}
	}

	/**
	 * 测试异常的抛出方法
	 */
	public void testex() throws Exception {

		if (str.equals("123")) {
			System.out.println("Don't have NullPointException");
		} else {
			System.out.println("NullPointException");
		}

	}

	/**
	 * 测试异常的抛出方法
	 */
	public void testthrow() throws Exception {

		try {
			this.testex();
		} catch (Exception ef) {
			throw new DefException("自定义的异常");
		}

	}
}

 

代码运行的结果是  ExceptionT.DefException: 自定义的异常。

    那么如何将一个异常定义成像NullPointerException这样不明文提示程序员要处理的异常呢,经过一番询问,得知只要让自定义的异常去继承RuntimeException即可.代码如下:

 

package ExceptionT;

public class DefException extends RuntimeException{

	/**
	 * 重写构造函数
	 */
	public DefException(String message){
		super(message);
	}
	

}

 

4.与异常处理相关的一些关键字。

  try catch finally

  throws

  throw

 

 

上面关于JAVA异常机制的总结还是很有限的,如果里面有些不正确的内容欢迎大家指正,帮助我进步。

 

0
1
分享到:
评论

相关推荐

    java异常小结

    本文主要总结了Java异常处理机制及其相关知识点。 首先,异常机制是Java中用于处理程序运行时错误的框架。当程序执行过程中遇到问题,异常机制会提供一个安全的出口,使得程序控制权能够转移到预先定义的异常处理器...

    java异常机制小结

    Java 异常机制小结 Java 异常机制是 Java 语言中一个非常重要的方面,也是程序设计的一大难点。Java 语言在设计的当初就考虑到异常处理的框架的方案,使得所有的异常都可以用一个类型来表示,不同类型的异常对应...

    Java异常小结

    Java异常处理是编程中至关重要的一个部分,它用于处理程序运行时可能出现的错误或异常情况。在Java中,异常处理采用了一种面向对象的方式,通过创建特定的异常类来表示不同类型的错误,使得代码更加清晰、可维护。...

    java异常讲解

    #### 七、小结 通过以上介绍,我们可以了解到Java异常处理机制的强大之处。正确地使用异常处理不仅可以提高程序的健壮性,还可以让程序更加易于维护和扩展。在实际开发中,合理地使用异常处理机制对于构建高质量的...

    java基础小结

    《Java基础小结》 Java,作为一种广泛应用的编程语言,以其跨平台、面向对象的特点深受开发者喜爱。这篇博文和随附的PDF笔记旨在总结Java的基础知识,帮助初学者巩固理解,同时也为有经验的开发者提供回顾参考。 1...

    JAVA异常入门(思维导图)

    1.异常的概念2.异常的分类3.捕获并处理异常(try……catch/finally)try……catch块 try……多catch块 try……catch/finally块 4.抛出异常throws5.自定义异常 自定义异常的来由 操作步骤 ...小结 throw与throws的区别

    Java异常处理操作实例小结

    Java 异常处理操作实例小结 Java 异常处理是 Java 编程语言中的一种错误处理机制,用于捕获和处理运行时的异常情况。本文将通过实例形式总结分析 Java 异常处理操作的常见情况与相关处理技巧。 一、异常处理的使用...

    java课程小结.rar_北京理工大学JAVA课程

    这个“java课程小结.rar_北京理工大学JAVA课程”压缩包中包含的“课程小结”文件,很可能是教授精心编写的教学精华,旨在帮助学生巩固所学知识并为后续学习打下坚实基础。 在Java课程中,有几个核心概念和技术是必...

    Java异常处理-自定义异常类及课后练习

    【Java异常处理-自定义异常类及课后练习】 在Java编程中,异常处理是程序健壮性的重要组成部分。Java提供了丰富的预定义异常类,但有时这些预定义的异常类并不能满足特定业务需求,这时就需要自定义异常类。自定义...

    Thrift-java学习小结

    本文将基于Thrift的Java实现,总结学习过程中的一些关键知识点,旨在帮助理解Thrift的工作原理以及如何在Java环境中应用。 一、Thrift简介 Thrift是一种远程过程调用(RPC)框架,它通过定义一种中间描述文件(....

    java 技巧小结荟萃

    ### Java技巧小结荟萃 #### Javadoc API 文件产生器 Javadoc 是一款非常重要的工具,主要用于生成文档,能够从源代码注释中提取出有用的文档信息。这不仅有助于提高代码的可读性,还方便其他开发人员快速理解类、...

    java异常分类

    #### 四、小结 理解并正确处理Java中的异常对于编写健壮、可靠的应用程序至关重要。通过了解各种异常的特性和如何有效地捕获和处理异常,可以显著提高程序的质量和稳定性。希望本文介绍的几种常见的运行时异常能够...

    java试题小结可以下载的

    【Java试题小结】 1. **Applet生命周期与方法**: - 在Java中,Applet的生命周期包括初始化、启动、绘画、停止和销毁几个阶段。`init()`方法用于初始化Applet所需资源,`paint()`方法负责在屏幕上绘制图形,如线条...

    java多态小结

    ### Java多态详解 #### 什么是多态? 多态(Polymorphism)是面向对象编程的一个核心特性,指的是一个接口可以被多个类所实现或一个类可以被多个类所继承,进而表现出不同的行为。在Java中,多态主要体现在两个...

    java调用RMI小结

    这些接口需要继承`java.rmi.Remote`接口,并声明可能抛出`RemoteException`的异常。例如,上述示例中的`LoadFile`接口。 ```java public interface LoadFile extends Remote { void upLoadFile(FileInformation ...

    Java多线程小结

    ### Java多线程小结 #### 一、多线程的概念与意义 多线程是Java编程中的一个重要概念,指的是程序在运行时可以同时执行多个线程的能力。它能够提高程序的性能,尤其是在多核处理器的环境下。多线程使得程序能够更...

    java小结 通过学习java和操作过程总结的一些关键知识点

    ### Java关键知识点总结 #### 局部变量与成员变量的区别 - **定义**:局部变量是在方法、构造器或块中定义的变量,其作用范围仅限于该方法、构造器或块。成员变量(也称为字段)是在类级别定义的变量,用于描述类...

    Java的Lock小结

    ### Java的Lock接口详解 #### 一、Lock接口概述 `Lock`接口是Java并发编程中的一个重要组成部分,它提供了一种更加灵活的方式来控制对共享资源的访问。与传统的`synchronized`关键字相比,`Lock`提供了更强大的...

    Java编程开发 Java输入语句小结.doc

    在Java编程中,输入语句是程序与用户交互的关键部分,允许用户向程序提供数据。以下是对Java输入语句的详细总结,主要介绍两种常用的方法:`Scanner`类和`...在处理用户输入时,一定要注意异常处理,确保程序的健壮性。

Global site tag (gtag.js) - Google Analytics