【Java】Java中自定义的异常

package com.ceac.deng;

public class T10Exception {

	public static void main(String[] args) {

		Number number = new Number();

		try {
			number.divided(2, 0);
		} catch (A e) {
			// TODO Auto-generated catch block
			System.out.println(e.getMessage());
			e.printStackTrace();
		} catch (B e) {
			// TODO Auto-generated catch block
			System.out.println(e.getMessage());
			e.printStackTrace();
		}finally{
			System.out.println("finally");
		}
	}

}

//异常A
class A extends Exception{

	public A(String message) {
		super(message);
	}
}

//异常B
class B extends Exception{

	public B(String message) {
		super(message);
	}
}

class Number {
	public int divided(int x, int y) throws A, B
	{
		if (y < 0)
		{
			throw new A("输入的除数不能小于0");
		}

		if (y == 0)
		{
			throw new B("输入的除数不能为0");
		}

		return x / y;
	}

}


  1. [总结] 
  2.  
  3. 1.自定义异常: 
  4.  
  5. class 异常类名 extends Exception 
  6.     public 异常类名(String msg) 
  7.     { 
  8.         super(msg); 
  9.     } 
  10. }  
  11.  
  12. 2.标识可能抛出的异常: 
  13.  
  14. throws 异常类名1,异常类名2 
  15.  
  16. 3.捕获异常: 
  17. try{} 
  18. catch(异常类名 y){} 
  19. catch(异常类名 y){} 
  20.  
  21. 4.方法解释 
  22. getMessage() //输出异常的信息 
  23. printStackTrace() //输出导致异常更为详细的信息 
  24.  
  25.  
  26. */  

如果jdk里面没有提供的异,我们就要自己写.我们常用的类ArithmeticException,NullPointerException,NegativeArraySizeException,ArrayIndexoutofBoundsException,SecurityException这些类,都是继承着RuntimeException这个父类,而这个父类还有一个父类是Exception.那么我们自己写异常类的时候,也是继承Exception这个类的.

实践:

class MyException extends Exception { //继承了Exception这个父类
private int detail;
MyException(int a) {
detail = a;}
public String toString() {
return "MyException[" + detail + "]";
}}
class ExceptionDemo {
static void compute(int a) throws MyException {
System.out.println("调用 compute(" + a + ")");
if(a > 10)
throw new MyException(a);
System.out.println("常规退出 ");
}
public static void main(String args[]) {
try {
compute(1);
compute(20);
} catch (MyException e) {
System.out.println("捕捉" + e); //这样就可以用自己定义的类来捕捉异常了
}}}

如果你开发程序用到好多组件,或其它厂商的东西.那么出现的异常会是莫明其妙的,这样的话会给调试带来很大的不便.往往在开发的过程中会写很多自定义的异常类.

总结:
异常处理机制保证java程序的正常运行,具有较高安全性的重要手段.对于开发良好的编程习惯是非常重要的.

时间: 2024-10-31 11:33:57

【Java】Java中自定义的异常的相关文章

浅析Java语言中两种异常的差别

Java提供了两类主要的异常:runtime exception和checked exception.所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Error类衍生出来的. 它们的不同之处表现在两方面:机制上和逻辑上. 一.机制上 它们在机制上的不同表现在两点:1.如何定义方法;2. 如何处理抛出的异常.请看下面CheckedExc

Java开发中常见的异常问题

作为一名游戏开发者,程序员,很自然必须熟悉对程序的调试方法.而要调试程序,自然需要对程序中的常见的异常有一定的了解,这些日子很多朋友都提出了很多问题,都是关于游戏中的报错,因此在这里我将一些常见的程序中的异常列举出来给大家参考: 1. java.lang.NullPointerException 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片

Java 开发中常见的异常问题

1. java.lang.NullPointerException   这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等.对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了.数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空

【JAVA应用】自定义Exception异常类

写出自定义异常类,继承Exception类 package cn.edu.error; public class MyException extends Exception{ private int id; public MyException(String message,int id){ super(message); this.id=id; } public int getId(){ return this.id; } } 实验类TestMyEx.java:  package cn.edu

Java编程中10个最佳的异常处理技巧_java

在实践中,异常处理不单单是知道语法这么简单.编写健壮的代码是更像是一门艺术,在本文中,将讨论Java异常处理最佳实践.这些Java最佳实践遵循标准的JDK库,和几个处理错误和异常的开源代码.这还是一个提供给java程序员编写健壮代码的便利手册.Java 编程中异常处理的最佳实践 这里是我收集的10个Java编程中进行异常处理的10最佳实践.在Java编程中对于检查异常有褒有贬,强制处理异常是一门语言的功能.在本文中,我们将尽量减少使用检查型异常,同时学会在Java编程中使用检查型VS非检查型异常

Java开发中异常处理的最佳实践

异常处理是Java 开发中的一个重要部分.它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java提供了几个异常处理特性,以try,catch 和 finally 关键字的形式内建于语言自身之中.Java 编程语言也允许你创建新的异常,并通过使用 throw 和 throws关键字抛出它们.事实上,在Java编程中,Java的异常处理不单单是知道语法这么简单,它必须遵循标准的JDK库,和几个处理错误和异常的开源代码.这里我们将讨论一些关于异常处

自定义一个异常类模板的简单实例_java

一:自定义异常类: package 自定义异常; //或者继承RuntimeException(运行时异常) public class MyException extends Exception { private static final long serialVersionUID = 1L; // 提供无参数的构造方法 public MyException() { } // 提供一个有参数的构造方法 public MyException(String message) { super(mes

Java 中常见的异常和自定义异常

常见异常:  java.lang.nullpointerexception    这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等.对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了.数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化

activity-如何在java类中访问自定义的对象?

问题描述 如何在java类中访问自定义的对象? 我想在java类中访问自定义的对象,这个java类中包括ApplicationContext 对象. 我创建了一个自定义的应用程序类: class A extends android.app.Application{ public String abc = "xyz"; } 一个简单的java类: class B { private appContext; // This constructor is called from activi