java小白——关于抛出异常

●Java语言的异常处理机制

一个异常处理机制由3部分组成

●发现异常。程序员应在可能出现异常的程序位置增加检查异常的代码,其目的是及时发现异常。Java语言使用if语句来检查异常。另外,Java API还为描述不同的异常情况专门提供了一组异常类
●报告异常。发现异常后,程序应向Java虚拟机报告异常。Java语言使用throw语句来报告异常
●处理异常。Java 虚拟机在接收到异常报告后,将立即改变程序

原来的执行流程,跳转去执行异常处理代码。所谓异常处理,就是在程序算法中增加异常处理流程。没有异常时,程序执行正常算法流程;发现异常时,程序执行异常处理流程。Java语言使用try-catch语句来编写捕获和处理异常的代码
下面编写一个抛出异常的完整过程的测试代码:

package qaq;
import java.io.*;
import java.util.*;
public class ExceptionTest {
  static void fun(int choice){//根据参数choice模拟不同的异常
	  System.out.println("choice:"+choice);
	  System.out.println("before try-catch");
	  try{
		  System.out.println("before throw");
		  if(choice == 1)//模拟算术异常
			  throw new ArithmeticException("AirtheneticException");
		  else if(choice == 2)//模拟输入输出异常
			  throw new IOException("IOException");
	  }
		  catch(ArithmeticException e){//捕获并处理算术异常
			  System.out.println(e.toString());
		  }
	      catch(IOException e){//捕获并处理输入输出异常
	    	  System.out.println(e.toString());
	      }
	  finally {  //善后处理
		  System.out.println("finally block");
	  }
	  System.out.println("After try-catch");
}
	public static void main(String[] args) {// 主方法用fun去测试
		// TODO Auto-generated method stub
		while(true){
			Scanner sc = new Scanner(System.in);
			int x = sc.nextInt();
			fun(x);
			continue;
		}
	}

}

运行结果如下:
1
choice:1
before try-catch
before throw
java.lang.ArithmeticException: AirtheneticException
finally block
After try-catch
2
choice:2
before try-catch
before throw
java.io.IOException: IOException
finally block
After try-catch
56
choice:56
before try-catch
before throw
finally block
After try-catch

6
choice:6
before try-catch
before throw
finally block
After try-catch

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java自定义异常及抛出异常对象 Java中异常是一种程序运行时出现的问题,通常会导致程序无法正常执行,为了避免这种情况的发生,Java提供了异常处理机制,其中自定义异常是一种非常重要的功能。 自定义异常是指通过继承Java中的Exception类或者RuntimeException类来创建自己的异常类,也可以实现自己的异常类。在使用自定义异常时,需要为异常类提供一个有意义的名称,并提供相应的构造函数。当程序出现异常时,可以将这个异常对象作为参数传递给异常处理程序。 一般情况下,我们可以自定义异常来处理特定的异常情况,这样就可以提高代码的可读性,同时也可以让程序能够更好地将问题传递给用户。自定义异常还可以提高代码的可维护性,因为它使得程序员能够更容易地记住代码中可能会出现的各种异常情况。 在Java中,抛出异常对象是通过throw语句来完成的。当程序运行到某个位置时,如果出现了问题,就可以抛出一个异常对象,这个对象会被传递给相应的异常处理程序。在抛出异常时,可以选择使用Java中的预定义异常类,也可以使用自定义异常类。 需要注意的是,Java中不允许抛出任何类型的异常对象,只能抛出从Throwable类派生出来的类,这包括Error类、Exception类等。因此,在自定义异常类时,需要合理选择继承的父类,并确保异常类的使用不会对程序的稳定性造成影响。 总之,Java自定义异常及抛出异常对象已成为Java程序设计的重要部分,它能够提高代码的可读性和可维护性,同时也可以方便程序员对不同异常情况进行处理,使得程序更加健壮。因此,在Java程序设计中,需要充分利用自定义异常和抛出异常对象的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值