异常题目

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);

	}

}

  

时间: 2024-11-06 15:17:25

异常题目的相关文章

Linux运维之Shell编程------(一)监控MySQL错误码及主从复制同步异常

Linux运维之Shell编程 一.监控MySQL错误码及主从复制同步异常 题目:监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:阶段1:开发一个守护进程脚本每30秒实现检测一次.阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误.阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分) 阶段2: #!/bin/bash#CONTACT='[email prote

学号:201521123116 《java程序设计》第九周学习总结

1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 有些异常,像RuntimeException在程序中是完全可以避免的,比如数组的越界,只要在程序做个判断,如果访问的数组元素下标和数组的长度作一下比较就知道会不会越界了.该异常由系统检测,属于Unchecked Exception

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个球中取重量异常的问题

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