import java.io.*;
public class Ex7_1_ExceptionTest {
public static void main(String[] args) {
int i=0;
String str[]= {"One","Two","Three"};
while(i<=3) {
System.out.println(Str[i]);
i++;
}
System.out.println("程序正常结束");
}
}
import java.io.*;
public class Ex7_2_ExceptionTest {
public static void main(String[] args) {
int i=0;
String str[]= {"One","Two","Three"};
try {
while(i<=3) {
System.out.println(str[i]);
i++;
}
}catch(java.lang.ArrayIndexOutOfBoundsException e) {
System.out.println("数组下标越界异常!");
}finally {
System.out.println("finally i="+i);
}
System.out.println("程序正常结束");
}
}
import java.io.*;
public class Ex7_3_CatchException {
public static void main(String args[]) {
int a,b,c;
a=110;
b=0;
try {
c=a/b;
System.out.println(a+"/"+b+"="+c);
}catch(Exception e) {
System.out.println("异常类型为"+e);
}finally {
System.out.println("除数="+a);
System.out.println("被除数="+b);
}
a=110;
b=10;
try {
c=a/b;
System.out.println(a+"/"+b+"="+c);
}catch(ArithmeticException e) {
System.out.println("出现被0除的异常情况");
}catch(Exception e) {
System.out.println("异常类型为"+e);
}finally {
System.out.println("除数="+a);
System.out.println("被除数="+b);
}
}
}
import java.io.*;
public class Ex7_4_ThrowException {
public static void main(String[] args) {
int age=200;
try {
if(age<0||age>120)
throw new Exception("年龄数据超出范围");
System.out.println("age="+age);
}catch(Exception e) {
e.printStackTrace();
}
}
}
import java.io.*;
public class Ex7_5_ThrowsException {
public static int calc(int x) {
int z=0;
z=110/x;
return z;
}
public static void main(String[] args) {
int a=0;
try {
a=cala(0);
System.out.println("a="+a);
}catch(ArithmeticException e) {
System.out.println("调用方法calc时发生异常"+e.getMessage());
e.printStackTrace();
}
}
}
import java.io.*
public class Ex7_6_ThrowsException {
public static int cala(int x)throws Exception{
int z=0;
if(x==0)
throws new Exception("除数为零!");
z=110/x;
return z;
}
public static void main(String[] args) {
int a=0;
try {
a=calc(0);
System.out.println("a="+a);
}catch(Exception e) {
System.out.println("调用方法calc时发生异常:"+e.getMessage());
e.printStackTrace();
}
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Ex7_7_ThrowsException {
public static void main(String args[]) {
System.out.println("输入一行文本:");
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader input Reader=new BufferedReader(isr);
String inputLine=inputReader.readLine();
System.out.println("输入的文本是:"+inputLine);
}
}
import java.util.Scanner;
public class Ex7_8_DefineException {
public static void main(String[] args) {
final int MIN=25,MAX=40;
Scanner scan=new Scanner(System.in);
OutOfRangException problem=new OutOfRangException();
System.out.print("输入"+MIN+"至"+MAX+"之间的整数:");
try {
int value=scan.nextInt();
if(value<MIN||value>MAX)
throw problem;
}catch(OutOfRangException e) {
System.out.println(e.toString());
}
System.out.println("主方法结束.");
}
}
class OutOfRangException extends Exception{
OutOfRangException(){
super("输入数据超出范围!");
}
}
import java.io.*;
public class Ex7_9_ExceptionDemo {
public static void main(String[] args) {
int arr[]= {100,200,300,400,500,600};
String index;
int position;
BufferedReader inputReader;
inputReader=new BufferedReader(new InputStreamReader(System.in));
while(true) {
System.out.print("输入序号(输入end结束):");
try {
index=inputReader.readLine();
if(index.contentEquals("end"))
break;
position=Integer.parseInt(index);
System.out.println("元素值为:"+arr[position]);
}catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组下标越界!");
}catch(IOException e) {}
}
System.out.println("程序运行结束.");
}
}
public class java7_10 {
public static void main(String args[]) {
try {
Bank ba=new Bank(50);
ba.withdrawal(100);
System.out.println("取款成功!");
}catch(InsufficientFundsException e) {
System.out.println(e.toString());
System.out.println(e.excepMessage());
}
}
}
class Bank{
double balance;
Bank(double balance){
this.balance=balance;
}
public void deposite(double dAmount) {
if(dAmount>0.0)balance+=dAmount;
}
public void withdrawal(double dAmount)throws InsufficientFundsException{
if(balance<dAmount)
throw new InsufficientFundsException(this,dAmount);
balance=balance-dAmount;
}
public void showBalance() {
System.out.println("The balance is"+(int)balance);
}
}
class InsufficientFundsException extends Exception{
private Bank excepbank;
private double excepAmount;
InsufficientFundsException(Bank ba,double dAmount){
super("取款异常!");
excepbank=ba;
excepAmount=dAmount;
}
public String excepMessage() {
String str="银行存款是:"+excepbank.balance+"\n"+"要取的钱是:"+excepAmount;
return str;
}
}