Java异常--基本概念try...catch...finally

1、异常:

2、异常处理格式:

public class ExceptionDemo05{
	public static void main(String args[]){
		System.out.println("********** 计算开始 ***********") ;
		int i = 0 ;		// 定义整型变量
		int j = 0 ;			// 定义整型变量
		try{
			String str1 = args[0] ;		// 接收第一个参数
			String str2 = args[1] ;		// 接收第二个参数
			i = Integer.parseInt(str1) ;	// 将第一个参数由字符串变为整型
			j = Integer.parseInt(str2) ;	// 将第二个参数由字符串变为整型
			int temp = i / j ;	// 此处产生了异常
			System.out.println("两个数字相除的结果:" + temp) ;
			System.out.println("----------------------------") ;
		}catch(ArithmeticException e){	// 捕获算术异常
			// System.out.println("算术异常:" + e) ;
			e.printStackTrace() ;
		}catch(NumberFormatException e){	// 捕获数字转换异常
			System.out.println("数字转换异常:" + e);
		}catch(ArrayIndexOutOfBoundsException e){	// 捕获数组越界异常
			System.out.println("数组越界异常:" + e) ;
		}
		System.out.println("********** 计算结束 ***********") ;
	}
};

3、异常类的继承结构

4、异常的处理机制

public class ExceptionDemo08{
	public static void main(String args[]){
		System.out.println("********** 计算开始 ***********") ;
		int i = 0 ;		// 定义整型变量
		int j = 0 ;			// 定义整型变量
		try{
			String str1 = args[0] ;		// 接收第一个参数
			String str2 = args[1] ;		// 接收第二个参数
			i = Integer.parseInt(str1) ;	// 将第一个参数由字符串变为整型
			j = Integer.parseInt(str2) ;	// 将第二个参数由字符串变为整型
			int temp = i / j ;	// 此处产生了异常
			System.out.println("两个数字相除的结果:" + temp) ;
			System.out.println("----------------------------") ;
		}catch(Exception e){
			System.out.println("其他异常:" + e) ;
		}
		System.out.println("********** 计算结束 ***********") ;
	}
};

5、总结

时间: 2024-10-26 05:47:04

Java异常--基本概念try...catch...finally的相关文章

Java异常的概念和分类

java异常是java提供的用于处理程序中错误的一种机制. 所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在). 设计良好地程序应该在程序异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果. Java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息,并将被提交给java运行时系统,这个过程称为抛出(throw)异常. 当Java运行时系统接收到异常对象时,会寻找能处理这一异

Java异常--其他概念—throw、throws、Exception、RuntimeException、断言

1.throws关键字 假设定义一个除法的方法div(),对于除法来说:有可能出现异常,有可能不出现异常.所以对于这样的方法来说,最好使用throws关键字进行声明.一旦出现了异常,则交给调用处处理. 因为div()方法使用了throws关键字声明.所以调用此方法的时候,必须进行异常处理. class Math{ public int div(int i,int j) throws Exception{ // 定义除法操作,如果有异常,则交给被调用处处理 int temp = i / j ; /

Java 异常设计最佳实践

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

Java异常以及异常处理框架探析

一般情况下,企业级应用都对应着复杂的业务逻辑,为了保证系统的健壮,必然需要面对各种系统业务异常和运行时异常. 不好的异常处理方式容易造成应用程序逻辑混乱,脆弱而难于管理.应用程序中充斥着零散的异常处理代码,使程序代码晦涩难懂.可读性差,并且难于维护. 一个好的异常处理框架能为应用程序的异常处理提供统一的处理视图,把异常处理从程序正常运行逻辑分离出来,以至于提供更加结构化以及可读性的程序架构.另外,一个好的异常处理框架具备可扩展性,很容易根据具体的异常处理需求,扩展出特定的异常处理逻辑. 另外,异

Java异常及异常块执行次序(try、catch、finally、return)

Java异常: ①使用try-catch-finally处理异常: ②使用throw.throws抛出异常: ③上边为java异常处理5个关键字. 异常是程序在设计时或运行时产生的错误,异常处理是处理异常的过程,一旦异常被处理后,异常就不存在了,因此程序就可以继续运行了.如果异常不被处理,程序就会被强制终止(终止出现异常的业务代码执行). 在程序运行中,程序的try.catch.finally.return执行次序,就要进行考虑了. ①:捕获异常 try{ //执行可能产生异常的代码 }catc

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高级日期概念 (献给那些要国际化时间及SQL时间的兄弟)

概念|高级 Java高级日期概念 如果你的Java 程序向处在不同时区或者不同国家的用户显示时间和日期,那么你需要了解Java日期类的一些更加高级的方面 .本文中讨论的类将包含java.text.DateFormat,以及java.util.TimeZone和java.util.Locate.我们还将讨论如何使用一个java.util.Date的子类java.sql.Date来从Oracle数据库里提取和保存Java日期数据.地区的问题在我们国际化我们的日期数据以前,我们需要进一步的学习Loca

一篇不错的讲解Java异常的文章

六种异常处理的陋习你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = conn.createStatement(); 5 ResultSet rs = stat.executeQuery( 6 "select uid, n

前端魔法堂——异常不仅仅是try/catch

前言  编程时我们往往拿到的是业务流程正确的业务说明文档或规范,但实际开发中却布满荆棘和例外情况,而这些例外中包含业务用例的例外,也包含技术上的例外.对于业务用例的例外我们别无它法,必须要求实施人员与用户共同提供合理的解决方案:而技术上的例外,则必须由我们码农们手刃之,而这也是我想记录的内容.  我打算分成<前端魔法堂--异常不仅仅是try/catch>和<前端魔法堂--调用栈,异常实例中的宝藏>两篇分别叙述内置/自定义异常类,捕获运行时异常/语法异常/网络请求异常/Promise