异常题目

1.建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理。

for(inti=0;i<4;i++){

int  k;

switch(i){

case 0:

int zero=0;

k=911/zero;

break;

case1:

int  b[]=null;

k = b[0];

break;

case2:

int c[]=new int[2];

k=c[9];

break;

case3:

char  ch="abc".charAt(99);

break;

}

}

package exception;

public class TestException
{

	public static void main(String[] args)
	{
		try
		{

			for(int i=0;i<4;i++)
			{
				int  k;
				switch(i)
				{
//					case 0:
//						int zero=0;
//						k=911/zero;
//						break;
//					case 1:
//						int  b[]=null;
//						k = b[0];
//							break;
//					case 2:
//						int c[]=new int[2];
//
//						k=c[9];
//						break;
					case 3:
						char  ch="abc".charAt(99);

						break;

				}

			}
		}
//		catch(ArithmeticException a)
//		{
//			System.out.println(a.getMessage()+"被除数不能为0");
//		}
//		catch(NullPointerException n)
//		{
//			System.out.println(n.getMessage()+"空指针");
//			n.printStackTrace();
//		}
//		catch(ArrayIndexOutOfBoundsException ar)
//		{
//			System.out.println(ar.getMessage()+"索引超出长度");
//			ar.printStackTrace();
//		}
		catch(StringIndexOutOfBoundsException s)
		{
			System.out.println(s.getMessage()+"此处不能是字符串");
			s.printStackTrace();

		}

	}

}

  

2.建立exception包,建立Bank类,类中有变量double  balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),表示存入银行100元,当用方法withdrawal(150),withdrawal(-15)时会抛出自定义异常。

package exception;

public class Bank {

		double  balance;//存款

		public Bank(double balance) {
			super();
			this.balance = balance;
		}

		//取款

		//判断然后抛出异常
		public void withDrawal(double dAmount) throws InsufficientResourcesException, NagativeFundsException
		{
			 if(dAmount < 0)
	            {
	                throw new NagativeFundsException("取款数是负的") ;
	            }
	            if(dAmount > balance)
	            {
	                throw new InsufficientResourcesException("余额不足") ;
	            }

	            balance -=  dAmount ;

		}

}

  

package exception;

public class InsufficientResourcesException extends Exception {
	//接受Bank抛出的异常
	public InsufficientResourcesException(String msg)
    {
        super(msg) ;
    }

}

  

package exception;

public class NagativeFundsException extends Exception {

	 public NagativeFundsException(String msg)
	    {
	        super(msg) ;
	    }

}

  

package exception;

public class Ceshi_bank {

	public static void main(String[] args) throws InsufficientResourcesException, NagativeFundsException {
		// TODO 自动生成的方法存根

		Bank b=new Bank(100);
		b.withDrawal(150);
		b.withDrawal(-15);

	}

}

  

时间: 09-22

异常题目的相关文章

java异常面试常见题目

在Java核心知识的面试中,你总能碰到关于 处理Exception和Error的面试题.Exception处理是Java应用开发中一个非常重要的方面,也是编写强健而稳定的Java程序的关键,这自然使它成为面试题中的常客.关于Java中Error和Exception的面试题目多是关于Exception和Error的概念,如何处理Exception,以及 处理Exception时需要遵守的最佳实践等等.尽管关于多线程.垃圾回收.JVM概念和面向对象设计等方面的问题依然主宰着这类面试,你仍然需要为回答

0923异常——练习题目作业

package exception; public class TestException { public static void main(String[] args) { for(int i=0;i<4;i++) { try { int k; switch(i) { case 0: int zero=0;k=911/zero;break; // case 1: int b[]=null;k=b[0];break; // case 2: int c[]=new int[2];k=c[9];b

算法学习 并查集(笔试题目:找同伙)

题目背景太长,记得不清楚,暂参考<啊哈算法>一书,根据笔试题目大意改编如下: 警察正要捉获某地区的犯罪团伙,由于强盗人数过大,想查清楚有几个团伙非常困难. 根据上级指示,需要首先尽快抓获强盗A所在的团伙,这需要掌握 1 所在团伙的人数.先有资料如下: 强盗1 和 强盗2 是同伙 强盗3 和 强盗4 是同伙 强盗2 和 强盗5 是同伙 强盗3 和 强盗2 是同伙 注意,强盗的同伙的同伙也是同伙,问  强盗1 的同伙(不包括1自己)有多少人? 该题形式化表示如下: 每个测试实例首先包括2个整数:N

Java语言程序设计 上机实验5 异常

Java语言程序设计 上机实验5 实验目的: 理解异常的概念,掌握Java的异常处理机制.常见异常的捕获方法.自定义异常及其抛出和捕获方法. 实验内容: 常见异常的捕获: 编写一个程序,分别生成ArrayIndexOutOfBoundsException类型和NumberFormatException类型的异常:然后改写程序,对这两种类型的异常进行捕获并合理地处理. 另外,思考并回答问题:能否0同时抛出ArrayIndexOutOfBoundsException类型和NumberFormatEx

抛出多个异常

java编程思想这本书上的一道练习题,题目是:定义三种新的异常类型,写一个类,在一个方法中抛出三种异常,在main中调用这个方法,仅用一个catch捕获三个异常 public class CatchMultiException {     public static void main(String[] args) throws Exception {         try {             test(2);         } catch (Exception e) {      

Atitit.异常的设计原理与&#160;策略处理&#160;java&#160;最佳实践&#160;p93

Atitit.异常的设计原理与 策略处理 java 最佳实践 p93 1 异常方面的使用准则,答案是::2 1.1 普通项目优先使用异常取代返回值,如果开发类库方面的项目,最好异常机制与返回值都提供,由调用者决定使用哪种方式..2 1.2 优先把异常抛出到上层处理..异常本身就是为了方便把异常情况抛出到上层处理..2 1.3 对于 HYPERLINK \l _Toc6222 方法调用结果异常情况返回策略,最终会有四种策略状况,2 1.4 返回null  还是异常??2 2 异常的由来与设计3 2

12个球中取重量异常的问题

题目:有十二个乒乓球特征相同,其中只有一个重量异常,现在要求用一部没有砝码的天平称三次,将那个重量异常的球找出来. 高中时候遇到过,当时好一阵想,今天逛百度贴吧时候有看见有人在争论,故画点时间整理一下思路:

黑马程序员——多态、内部类、异常、包

第一讲     多态 多态可以理解为事物存在的多种体现形态. 例:动物中猫,狗.猫这个对象对应的类型是猫类型,如:猫 x = new猫(); 同时猫也是动物中的一种,也可以把猫称为动物.动物  y = new猫(); 那么动物就是猫和狗具体事物中抽取出来的父类型.父类型引用指向了子类对象. 一.多态的体现        1.父类的引用指向了自己子类的对象. 2.父类的引用也可以接收自己的子类对象. 如:   Animal a = new Cat(); 其中就将父类型的 a 引用指向了子类的对象.

关于Linux运维的一些题目总结

一.有文件file1 1.查询file1里面空行的所在行号 awk ‘{if($0~/^$/)print NR}’ fileorgrep -n ^$ file |awk ‘BEGIN{FS=”:”}{print $1}’ 2.查询file1以abc结尾的行grep abc$ file1 3.打印出file1文件第1到第3行sed -n ’1,3p’ file1head -3 file1 二.如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.2.1 -A PREROUTIN