java异常处理作业

合集下载

异常处理练习题

异常处理练习题

异常处理练习题一、选择题1.java中用来抛出异常的关键字是A、tryB、catchC、throwD、finally2.关于异常,下列说法正确的是A、异常是一种对象B、一旦程序运行,异常将被创建C、为了保证程序运行速度,要尽量避免异常控制D、以上说法都不对3.()类是所有异常类的父类。

A、ThrowableB、ErrorC、ExceptionD、AWTError4.java语言中,下列哪一子句是异常处理的出口A、try{…}子句B、catch{…}子句C、finally{…}子句D、以上说法都不对5.下列程序的执行,说法正确的是public class MultiCatch{public static void main(String args[]){try{int a=args.length;int b=42/a;int c[]={1};c[42]=99;System.out.println(“b=”+b);}catch(ArithmeticException e){System.out.println(“除0异常:”+e);}catch(ArrayIndexOutOfBoundsException e){System.out.println(“数组超越边界异常:”+e);}}}A、程序将输出第15行的异常信息B、程序第10行出错C、程序将输出“b=42”D、程序将输出第15和19行的异常信息6.下列程序的执行,说法正确的是class ExMulti{static void procedure(){try{int c[]={1};c[42]=99;}catch(ArrayIndexOutOfBoundsException e){System.out.println(“数组超越界限异常:”+e);}}public static void main(String args[]){try{procedure();int a=args.length;int b=42/a;System.out.println(“b=”+b);}catch(ArithmeticException e){System.out.println(“除0异常:”+e);}}}A、程序只输出第12行的异常信息B、程序只输出第26行的异常信息C、程序将不输出异常信息D、程序将输出第12行和第26行的异常信息7.下面程序抛出了一个“异常”并捕捉它。

翁凯 java 第七周 作业

翁凯 java 第七周 作业

翁凯的Java第七周作业第一部分:介绍翁凯1. 翁凯是一名资深的软件工程师,拥有丰富的开发经验和扎实的编程基础。

2. 他在互联网行业工作多年,曾在多家知名互联网企业担任重要技术职位。

3. 翁凯擅长Java编程,对Java技术有深入的理解和丰富的实战经验。

第二部分:Java第七周作业1. 作业内容:翁凯的Java第七周作业主要包括以下几个部分:面向对象编程、异常处理、多线程编程等。

2. 面向对象编程:翁凯在作业中通过设计类和对象的方式,实现了对现实世界问题的建模和求解。

他充分运用了面向对象的特性,如封装、继承和多态,使得代码结构清晰、逻辑严谨。

3. 异常处理:在作业中,翁凯充分考虑了程序可能出现的异常情况,并进行了相应的处理。

他使用try-catch-finally语句块,对可能出现的异常进行捕获和处理,保证了程序的稳定性和可靠性。

4. 多线程编程:翁凯在作业中还涉及了多线程编程的内容,他充分利用Java提供的多线程机制,实现了并发执行的效果,提高了程序的性能和响应速度。

第三部分:作业优点和亮点1. 作业的优点:翁凯的作业在代码逻辑上清晰,结构上合理,且符合面向对象编程的思想和规范。

他的异常处理能力较强,程序健壮性良好。

在多线程编程方面,翁凯能够合理运用多线程技术,提高程序的运行效率,体现了他在并发编程方面的能力。

2. 作业的亮点:翁凯在作业中展现了对Java编程语言的深刻理解和熟练应用,尤其是对面向对象编程和多线程编程方面的技术。

他的作业不仅能够完成基本的功能需求,还体现了一定的创新和扩展能力,展现了优秀的编程思维和能力。

第四部分:总结1. 翁凯的Java第七周作业展现了他优秀的编程能力和技术功底。

他在作业中展现了对面向对象编程、异常处理和多线程编程等方面的深入理解和熟练应用,展现了一名优秀软件工程师应有的专业素养和技术水平。

期待翁凯在以后的学习和工作中继续发挥自己的优势,取得更好的成绩和进步。

java三种异常处理方法

java三种异常处理方法

java三种异常处理方法Java是一种流行的编程语言,但是在编写程序时常常会遇到各种异常。

为了使程序更加健壮和稳定,我们需要使用异常处理机制。

Java中有三种异常处理方法:1. try-catch语句try-catch语句是最常用的异常处理方法。

它的基本语法如下: ```try {// 可能会抛出异常的代码} catch (Exception e) {// 异常处理代码}```在try块中,我们编写可能会抛出异常的代码。

如果这些代码抛出了异常,那么程序就会跳转到catch块中。

catch块中的代码会处理异常,可以输出异常信息,也可以进行其他操作。

2. throws关键字throws关键字可以将异常抛给调用该方法的上一级方法处理。

它的语法如下:```public void method() throws Exception {// 可能会抛出异常的代码}```在方法声明中使用throws关键字,表明该方法可能会抛出某种异常。

如果抛出了异常,异常将会被抛给该方法的调用者处理。

3. finally关键字finally关键字用于编写一段无论是否发生异常都会被执行的代码块。

它的语法如下:```try {// 可能会抛出异常的代码} catch (Exception e) {// 异常处理代码} finally {// 无论是否发生异常都会执行的代码}```在try-catch语句中使用finally块,可以确保无论是否发生异常,finally块中的代码都会被执行。

通常,finally块中会释放资源或者进行一些清理操作。

以上是Java中三种常见的异常处理方法。

在编写程序时,我们应该根据具体情况选择合适的方法处理异常,以保证程序的健壮性和稳定性。

java异常处理方法及流程

java异常处理方法及流程

java异常处理方法及流程Java 异常处理方法及在 Java 编程中,异常处理是一项非常重要的技术。

通过适当的异常处理方法,可以使程序具备更好的稳定性和可读性,提高程序的健壮性。

本文将详细介绍 Java 异常处理的各个流程。

异常的基本概念异常是在程序执行期间产生的一种错误或异常情况。

Java 引入了异常处理机制来处理这些异常,以提高程序的可靠性和可维护性。

异常分为两种类型:1.受检异常(Checked Exceptions):受检异常在编译阶段必须进行处理,否则编译器将报错。

例如,IOException 是常见的受检异常。

2.非受检异常(Unchecked Exceptions):非受检异常是指不需要显式捕获或声明抛出的异常,编译器不会检查是否对其进行处理。

例如,NullPointerException 是常见的非受检异常。

异常处理的方法Java 提供了多种处理异常的方法,包括捕获异常和抛出异常。

下面分别进行介绍。

捕获异常是指通过使用try-catch语句块来捕获并处理异常。

try语句块用于包裹可能出现异常的代码,catch语句块用于捕获并处理异常。

try {// 可能抛出异常的代码块// ...} catch (ExceptionType1 e1) {// 处理异常类型1// ...} catch (ExceptionType2 e2) {// 处理异常类型2// ...} finally {// 可选的 finally 代码块,始终会被执行// ...}抛出异常当一个方法无法处理某个异常时,可以通过throw关键字手动抛出异常。

异常将会被传递给调用该方法的代码,并进一步处理。

public void someMethod() throws SomeException {if (someCondition) {throw new SomeException("Some error message");}使用异常的注意事项在使用异常处理时,需要注意以下几点:•捕获异常的顺序非常重要,应该从特定异常到一般异常的顺序进行捕获。

实验十一 Java中的异常处理

实验十一  Java中的异常处理

实验十一Java中的异常处理x=n.nextInt();if(x!=999)sum+=x;}catch(InputMismatchException e){}System.out.println(sum);}}}class TestXin{/*** @param args*/public static void main(String[] args) { // TODO Auto-generated method stubXin n=new Xin();System.out.println(n);}}结果:五、实验总结(对本实验结果进行分析, 实验心得体会及改进意见)5.分析程序的运行结果(1)class A{A(){System.out.println("A structure!");}A(int m){System.out.println("A("+m+")");}}public class B extends A{B(int m){System.out.println("B("+m+")");}public static void main(String[] args) { // TODO Auto-generated method stubnew B(100);}}(2)class A{A(){System.out.println("A structure!");}A(int m){System.out.println("A("+m+")");}}public class B extends A{B(){System.out.println("B structure!");}B(int m){System.out.println("B("+m+")");}public static void main(String[] args) { // TODO Auto-generated method stubnew B(100);}}(3)class A{A(){System.out.println("A structure!");}A(int m){System.out.println("A("+m+")");}}public class B extends A{B(){System.out.println("B structure!");}B(int m){//super(m);System.out.println("B("+m+")");}public static void main(String[] args) { new B(100);}}(4)class A{A(){System.out.println("A structure!");}A(int m){System.out.println("A("+m+")");}}public class B extends A{B(int m){super(m);//System.out.println("B("+m+")");}public static void main(String[] args) { new B(100);} }。

java中的异常处理机制的简单原理和应用

java中的异常处理机制的简单原理和应用

Java中的异常处理机制的简单原理和应用异常处理机制简介在Java中,异常处理机制是一种用于处理程序运行时出现错误和意外情况的机制。

异常是指在程序的执行过程中发生的错误或非正常情况,如无效的输入、文件不存在等。

使用异常处理机制,我们可以捕获并处理这些异常,从而保证程序的稳定性和可靠性。

异常处理机制主要包括以下几个方面的内容:1.异常类:Java提供了一系列异常类来表示不同类型的异常,比如NullPointerException、ArrayIndexOutOfBoundsException等。

每个异常类都是Throwable类的子类。

2.异常处理语句:使用try-catch语句块来捕获和处理异常。

try块中包含可能发生异常的代码,而catch块则用于捕获并处理异常。

3.异常处理方式:可以通过不同的方式来处理异常,比如忽略异常、打印异常信息、重新抛出异常等。

4.异常处理的层次结构:所有异常类都是Throwable类的子类,Throwable类又分为Error和Exception两个子类。

Error表示严重的错误,如虚拟机错误,一般不予处理;Exception则表示一般的异常情况,可以通过异常处理机制来处理。

异常处理机制的应用Java中的异常处理机制广泛应用于各种类型的程序中,下面是一些常见的应用场景:1. 文件操作在进行文件操作时,如打开文件、读取文件等,往往会遇到文件不存在、文件格式错误等异常情况。

通过使用异常处理机制,可以捕获并处理这些异常,提供友好的错误提示,避免程序崩溃。

```java try { FileReader fileReader = new FileReader(。

java异常处理实验结论

java异常处理实验结论

根据实验结果,可以得出以下结论:
1. 异常处理是一种有效的方式来处理程序中的错误和异常情况。

通过使用try-catch语句,可以捕获并处理异常,避免程序崩溃或产生不可预料的结果。

2. 在捕获异常时,应该根据具体的异常类型来选择合适的处理方式。

可以使用多个catch块来处理不同类型的异常,以便进行针对性的处理。

3. 在catch块中,可以采取不同的操作,如打印错误信息、记录日志、重新抛出异常等。

具体的操作应根据实际情况来决定。

4. 异常处理还可以使用finally块来执行一些必要的清理操作,无论是否发生异常都会执行。

finally块通常用于释放资源或关闭连接等操作。

5. 可以自定义异常类来表示程序中的特定异常情况。

自定义异常类应继承自Exception类或其子类,并实现自己的构造方法和其他必要的方法。

总之,异常处理是编写健壮和可靠的程序的重要组成部分。

通过合理
地处理异常,可以提高程序的稳定性和可维护性。

java异常处理试题及参考答案

java异常处理试题及参考答案

异常处理练习题一、选择题1.java中用来抛出异常的关键字是(C)A、tryB、catchC、throwD、finally2.关于异常,下列说法正确的是(A)A、异常是一种对象B、一旦程序运行,异常将被创建C、为了保证程序运行速度,要尽量避免异常控制D、以上说法都丌对3.(A)类是所有异常类的父类。

A、4.javaA、try{C、5.{{“除0}A、程序将输出第15行的异常信息B、程序第10行出错C、程序将输出“b=42”D、程序将输出第15和19行的异常信息6.下列程序的执行,说法正确的是(D)class ExMulti{static void procedure(){try{int c[]={1};c[42]=99;}catch(ArrayIndexOutOfBoundsException e){“数组超越界限异常:”+e);}}public static void main(String args[]){“除0}ABCD7.{{}{try{procedure();}catch(IllegalAccessExcepton e) ___________{“捕获:”+e);}}8.对于catch子句的排列,下列哪种是正确的(B )A、父类在先,子类在后B、子类在先,父类在后C、有继承关系的异常不能在同一个try程序段内D、先有子类,其他如何排列都无关9.在异常处理中,如释放资源、关闭文件、关闭数据库等由(C )来完成。

A、try子句B、catch子句C、finally子句D、throw子句10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的(C )A、捕获异常B、抛出异常C、声明异常D、嵌套异常11.哪个关键字可以抛出异常?(C)JVM. int i=0;String greetings[]= {“Hello world!”,“No,I mean it!”,“HELLO WORLD!!”};while(i<4){____try________{}____catch__(ArrayIndexOutOfBoundsException e){i=-1;}finally{}i++;}}三、判断题1. ( F )程序中抛出异常时(throw …),只能抛出自己定义的异常对象。

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

Java异常处理作业
孙月巧
1、参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。

【提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试】
package November;
import java.util.Scanner;
public class StringIndexOutOf{
public static void main(String args[]){
System.out.println("请输入一个字符串:");
try{
Scanner reader=new Scanner(System.in);
String str = reader.nextLine();
System.out.println("第四个字符为 " + str.charAt(3));
int aa = Integer.parseInt(str);
System.out.println("平方为 " + aa * aa);
}
catch(StringIndexOutOfBoundsException e){
System.out.println("您输入的数值下标越界");
}
catch(NumberFormatException nfe){
System.out.println("您输入的不是数字");
}
}
}
2、从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。

package November;
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
System.out.println("请输入五个整数:");
try {
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
int c = Integer.parseInt(args[2]);
int d = Integer.parseInt(args[3]);
int e = Integer.parseInt(args[4]);
}
catch (NumberFormatException n) {
System.out.println("请输入整数");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("请输入至少5个整数");
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
3、写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。

package November;
import java.util.Scanner;
public class Test3 {
void sanjiao()
{ int a;
int b;
int c;
System.out.println("请输入三条边长");
Scanner reader=new Scanner(System.in);
a=reader.nextInt();
b=reader.nextInt();
c=reader.nextInt();
if(a+b>c&&a+c>b&&b+c>a){
System.out.println("三角形的边长分别为"+"a="+a+" "+"b="+b+" "+"c="+" "+c);
}
else
{
System.out.println("不能构成三角形");
}
if(a<0||b<0||c<0){
System.out.println("三条边不能为负");
}
}
public static void main(String[] args){
Test3 t=new Test3();
try{
t.sanjiao();
}catch(NumberFormatException nfe){
System.out.println("请输入正整数");
}catch(IllegalArgumentException iae){
System.out.println("不能构成三角形!");
}catch(Exception e){
System.out.println("-----程序出错-----");
}
}
}
4、自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z 赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。

在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。

import java.util.InputMismatchException;
import java.util.Scanner;
class Test {
private double x;
private double y;
private double z;
public Test(double a, double b, double c)
{
this.x = a;
this.y = b;
this.z = c;
}
//面积
public double getArea()
{
return (1/4.0)*Math.sqrt(((x+y+z)*(x+y-z)*(x+z-y)*(y+z-x)));
}
//展示信息
public void showInfo()
{
System.out.println("边长分别为:"+x+","+y+","+z);
}
}
class NotSanjiaoException extends Exception
{
public NotSanjiaoException()
{
super("不能构成三角形!");
}
}
public class Test4
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.println("请输入三个边");
try
{
double x = s.nextDouble();
double y = s.nextDouble();
double z = s.nextDouble();
if(!(x+y>z && x+z>y && y+z>x))
{
throw new NotSanjiaoException();
}
Test sj = new Test(x,y,z);
System.out.println(sj.getArea());
sj.showInfo();
}
catch (NotSanjiaoException e)
{
System.out.println(e.getMessage());
}
catch(InputMismatchException e )
{
System.out.println("非法字符!");
}
}
}
(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。

可复制、编制,期待你的好评与关注)。

相关文档
最新文档