大数据库异常处理问题详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、

一、实验/实习过程

实验题1在程序中产生一个ArithmeticException类型被0除的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException类的对象e 的方法getMessage给出异常的具体类型并显示出来。

package Package1;

public class除数0 {

public static void main(String args[]){

try{

int a=10;

int b=0;

System.out.println("输出结果为:"+a/b);

}

catch(ArithmeticException e){

System.out.println("除数不能为0"+e.getMessage());

}

}

}

实验题2在一个类的静态方法methodOne()方法使用throw 产生ArithmeticException异常,使用throws子句抛出methodOne()的异常,

在main方法中捕获处理ArithmeticException异常。

package Package1;

public class抛出异常 {

static void methodOne() throws ArithmeticException{

System.out.println("在methodOne中");

throw new ArithmeticException("除数为0");

}

public static void main(String args[]){

try{

int a=10;

int b=0;

int c=1;

System.out.println("输出结果为:"+a/b);

}

catch(ArithmeticException e){

System.out.println("除数不能为0"+e.getMessage());

}

}

}

实验题3编写一个程序,输入一个班某门课程成绩,统计及格人数、不及格人数平均分。设计一个异常类,当输入的成绩小0分或大于100分时,抛出异常,程序将捕捉这个异常,并做出相应处理。

package实习异常;

public class课程成绩 {

double grade=0;

static int number=0;

static int pass=0;

static int unpass=0;

static double sum=0;

void setGrade(double grade) throws NullPointerException{

if(grade>100 || grade<0){

System.out.println("成绩"+grade+"不合理");

}

else{

if(grade>=60){

++pass;

}

else{

++unpass;

}

sum=sum+grade;

this.grade=grade;

}

}

public static void main(String args[]){

int number=4;

课程成绩 people=new课程成绩();

try{

people.setGrade(110);

}

catch(NullPointerException e){

System.out.println("成绩"+e.getMessage()+"不合理");

}

try{

people.setGrade(-1);

}

catch(NullPointerException e){

System.out.println("成绩"+e.getMessage()+"不合理");

}

people.setGrade(20);

people.setGrade(100);

people.setGrade(80);

people.setGrade(40);

System.out.println("及格人数为:"+pass);

System.out.println("不及格人数为:"+unpass);

System.out.println("平均成绩为:"+sum/number);

}

}

实验题4创建异常类的练习。需要使用3个Java程序来实现:Bank.java

InsufficientFundsException.java

ExceptionDemo.java

●创建银行类Bank,包括如下的方法:

Bank(double balance)

deposite(double dAmount)

withdrawal(double dAmount)

show_balance()

●创建异常类:InsufficientFundsException。若取钱数大于余额则

作为异常处理。创建此异常类的思路是:(1)产生异常的条件是余

额少于取额, 因此是否抛出异常要判断条件(注意throw的使用)。

(2)取钱是withdrawal()方法中定义的动作,因此在该方法中产生

异常。(3)处理异常安排在调用withdrawal()的时候,因此

withdrawal()方法要声明异常,由上级方法调用(注意throws的使

用)。创建此异常类的具体要求:异常类中需添加excepMesagge()

方法,用于调用Bank类的show_balance()方法,显示“您的取款金

额为XXX,但是账户余额仅为XXX,操作不合法!”。

●创建主类:ExceptionDemo,用于测试新创建的两个类。注意

try-catch语句的使用,并且在错误处理的catch块中,使用

InsufficientFundsException异常类的excepMesagge()方法以及

Exception类(父类)的toString()方法。最后添加finally块,输

出“操作退出!”。

package Package;

public class InsufficientFundsException extends Exception{

String message;

public InsufficientFundsException(double balance,double amount){

message="您的取款金额为"+balance+",但是账户余额为"+amount+",操作不合法!";

}

public String toString(){

return message;

}

相关文档
最新文档