java异常的基本理解

java异常的基本理解

代码:

package kun.exception;

public class test {
	public static void main(String arg[])
	{
		try{
			myExceptoin(3);
			myExceptoin(4);
			myExceptoin(1);
		   }
		catch(Exception e)
		{
			System.out.println(e.getMessage());
		}
	}

    	//如果该方法可能抛出一个异常,就要在定义方法的时候使用throws声明异常。
    	//throws总是出现在方法的声明中,用来表明该方法可能抛出的各种各样的异常。
    	//throws声明之后,函数的调用者才能捕获到可能出现的异常
	public static void myExceptoin(int i)throws Exception
	{
		if(i==1)
		  throw new Exception(" 异常:i 的值不能是1");
		System.out.println(" i 的值是: "+i);
	}
}

逐段分析:
(1)“myExceptoin”的方法体。

if(i==1)
	throw new Exception(" 异常:i 的值不能是1");
System.out.println(" i 的值是: "+i);

throw出现在方法体中,用来抛出一个异常。throw实际上是new了一个Exception对象。
在方法的最开始,public static void myExceptoin(int i)throws Exception,用throws来声明了异常,说明该方法可能会抛出一个异常。
(2)“myException”方法的调用。
利用catch捕捉异常。
图示:

参考资料:http://blog.csdn.net/hamber_bao/article/details/6503867
参考资料:http://blog.csdn.net/hamber_bao/article/details/6503870

时间: 2024-09-14 12:01:18

java异常的基本理解的相关文章

Java 异常设计最佳实践

关于异常 在讲Java异常实践之前,先理解一下什么是异常.到底什么才算是异常呢?其实异常可以看做在我们编程过程中遇到的一些意外情况,当出现这些意外情况时我们无法继续进程正常的逻辑处理,此时我们就可以抛出一个异常. 广义的讲,抛出异常分三种不同的情况: 编程错误导致的异常 :在这个类别里,异常的出现是由于代码的错误(譬如NullPointerException.IllegalArgumentException.IndexOutOfBoundsException ).代码通常对编程错误没有什么对策,

java异常——RuntimeException和User Define Exception

1.RuntimeException public class RuntimeException { public static void main(String[] args) { // TODO Auto-generated method stub String str="123"; int temp=Integer.parseInt(str); System.out.println(temp*temp); } } 查看parseInt方法的源代码如下: public static

耦合-求指教,关于JAVA接口,这样理解对不对?

问题描述 求指教,关于JAVA接口,这样理解对不对? 把接口看作是电脑上的USB接口,USB接口里有一种方法定义了一种规范,外部的usb设备比如usb鼠标,usb风扇在这个规范下具体实现了鼠标和扇风的功能,这样,人类可以使用usb这一种东西来调用usb接口外部的不同功能,需要改动的时候,只需要把能够实现所需要的功能的usb设备的线接到usb接口上就行了,而不用去做大量改动. 这么理解有什么偏差吗?求指教 解决方案 你可以有不同的理解,这没有任何问题. 当然,我觉得更接近编程思维的理解是,接口是一

聊聊我对Java内存模型的理解

所有的编程语言中都有内存模型这个概念,区别于微架构的内存模型,高级语言的内存模型包括了编译器和微架构两部分.我试图了解了Java.C#和Go语言的内存模型,发现内容基本大同小异,只是这些语言在具体实现的时候略有不同. 我们来看看Java内存模型吧,提到Java内存模型大家对这个图一定非常熟悉: 这张图告诉我们在线程运行的时候有一个内存专用的一小块内存,当Java程序会将变量同步到线程所在的内存,这时候会操作工作内存中的变量,而线程中变量的值何时同步回主内存是不可预期的.但同时Java内存模型又告

浅谈java异常链与异常丢失_java

1.在java的构造方法中提供了 异常链.. 也就是我们可以通过构造方法不断的将 异常串联成一个异常链...   之所以需要异常连,是因为处于代码的可理解性,以及阅读和程序的可维护性...  我们知道我们每抛出一个异常都需要进行try catch ...那么岂不是代码很臃肿... 我们如果可以将异常串联成一个异常连,然后我们只捕获我们的包装 异常,我们知道 RuntimeException 以及其派生类可以不进行try catch 而被jvm自动捕获并处理.. 当然了我们可以自己定义自己的异常类

java异常与错误处理基本知识_java

异常与错误:异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它.Java中使用异常类来表示异常,不同的异常类代表了不同的异常.但是在Java中所有的异常都有一个基类,叫做Exception.错误:它指的是一个合理的应用程序不能截获的严重的问题.大多数都是反常的情况.错误是VM的一个故障(虽然它可以是任何系统级的服务).所以,

java里的多态理解的模模糊糊的,到底什么是多态?多态和类是什么关系?和对象呢?

问题描述 java里的多态理解的模模糊糊的,到底什么是多态?多态和类是什么关系?和对象呢? java里的多态理解的模模糊糊的,到底什么是多态?多态和类是什么关系?和对象呢? 解决方案 多态,顾名思义就是一种概念,多种形态. 在Java中,泛型.继承和复写方法.函数重载都体现了多态. 具体你可以看维基百科上对应的词条. 解决方案二: 你只要记住 1.同一类中,方法的**重载**是多态的体现. 2.在不同的类中(继承),方法的**重写**也是多态的体现 解决方案三: 需要搞清楚面向对象的三大特征,封

Java异常

在我参与过的一些Java项目.或者阅读过Java代码中,异常的使用或多或少都有点问题,有些甚至是误用.可能很多人都了解异常的基本知识,但是使用的时候往往过于随意,然而这样的随意往往并不能造成什么严重的问题,所以很多程序员,尤其是初级的程序员也就没有在意它,于是代码中总是会有那些让人不舒服的异常使用代码:另一方面,Java异常类型中包括Checked Exception(Runtime Exception)和Unchecked Exception,这两中异常的使用也颇具争议. 基于上述问题,总结一

实例-java的单例模式怎么理解?

问题描述 java的单例模式怎么理解? 我是这样认为的:因为类中的方法都是static方法!所以这个类不管怎么实例化 都只有唯一的static方法 实例存在 这样认为对吗?求教怎么理解? 解决方案 骚年,你的理解偏颇了... 单例模式,顾名思义,就是在某个环境里,不管怎么实例化,只能产生唯一对象. static方法只是个特殊的动作(特殊在于它是类(不是对象的)的动作),这个动作可以被执行多次, 并且没有限制里面处理内容,所以完全可以产生多个对象(你无法阻止),static方法跟产生几个对象没有直