应改为“catch(char*s)”。 (2)应改为“cateh(inti)”。 (3)应改为“catch(…)”。 【解析】本题中第1个标识前的异常抛出语句为“throw("error");”,其中的类型为字符串。所以对应的异常捕捉语句catch中应该符合这个类型,而程序中给出的语句“catch(chars)”是字符型的,所以第1处的语句修改为“catch(char*S)”。第2个标识前的异常抛出语句为“throw((int)0);”,其中的类型为int。对应的异常捕捉语句catch中应该符合这个类型,所以补充catch子句中的类型,否则如果找不到匹配的catch块,系统就会调用一个系统函数,使程序终止运行。即第2处的语句修改为“catch(inti)”。如果在catch子句中没有指定异常信息的类型,那么就用删节号“…”表示它可以捕捉任何类型的异常信息,即修改为“catch(…)”。

应改为“catch(char*s)”。 (2)应改为“cateh(inti)”。 (3)应改为“catch(…)”。 【解析】本题中第1个标识前的异常抛出语句为“throw("error");”,其中的类型为字符串。所以对应的异常捕捉语句catch中应该符合这个类型,而程序中给出的语句“catch(chars)”是字符型的,所以第1处的语句修改为“catch(char*S)”。第2个标识前的异常抛出语句为“throw((int)0);”,其中的类型为int。对应的异常捕捉语句catch中应该符合这个类型,所以补充catch子句中的类型,否则如果找不到匹配的catch块,系统就会调用一个系统函数,使程序终止运行。即第2处的语句修改为“catch(inti)”。如果在catch子句中没有指定异常信息的类型,那么就用删节号“…”表示它可以捕捉任何类型的异常信息,即修改为“catch(…)”。


相关考题:

为计算1+3+5+……+99的值,某人编程如下k=1s=0While k=99k=k+2 : s=s+kWendPrint s在调试时发现运行结果有错误,需要修改。下列错误原因和修改方案中正确的是( )。A.While …Wend循环语句错误,应改为For k=1 To 99 …Next kB.循环条件错误,应改为Whlie k99C.循环前的赋值语句k=1错误,应改为k=0D.循环中两条赋值语句的顺序错误,应改为s=s+k : k=k+2

下列程序的输出结果是( )。 PublicclassTest{ Publicstaticvoidmain(String[]args){ int[]array=(2,4,6,8,10); intsize=6; intresult=-1; try{ for(inti=0;i<sizeresult==-1;) if(array[i]==20)result=i; } catch(ArithmeticExceptione){ System.out.println("Catch---1"); } catch(Array IndexOutOfBoundsExceptione){ System.out.println("Catch---2"); } catch(Exceptione){ System.out.println("Catch---3"); } }A.Catch---1B.Catch---2C.Catch---3D.以上都不对

为了计算1+3+5+…+99的值,某人编程如下: k=1 s=0 While k<=99 k=k+2:s=s+k Wend Print s 在调试时发现运行结果有错误,需要修改。下列错误原因和修改方案中正确的是______。A.WhilE...Wend循环语句错误,应修改为For k=-1 T0 99…Next kB.循环条件错误,应改为While k<99C.循环前的赋值语句K=1错误,应改为k=0D.循环中两条赋值语句的j顷序错误,应改为s=s+k:k=k+2

“while”应改为“while(infile.get(ch))”。 (2)应添加“bur[len++]=ch;bur[len]=ch;len++;”。 (3)应添加“outfile2bur[i++];”或“outfile2buf[i];i++;”。 (4)“TCobj;”应改为“TCobi("in.txt");”。 【解析】本题考查了文件流的使用。根据题意,第1处要获得一个字符,并判断是否到文件结尾,所以应使用get函数;第2处应将ch存入buf数组,同时让len增1;第3处将buf中的字节输出给outfile2,注意同时让i增1,否则while循环将进入死循环;第4处TC只确一个带char*参数的构造函数,所以创建对象时必须使用构造参数,根据题意这个参数应该是“"in.txt"”。

( 27 )为计算 1+3+5+ …… +99 的值,某人编程如下k=1s=0While k=99k=k+2 : s=s+kWendPrint s在调试时发现运行结果有错误,需要修改。下列错误原因和修改方案中正确的是( )A ) While … Wend 循环语句错误,应改为 For k=1 To 99 … Next kB ) 循环条件错误,应改为 Whlie k99C ) 循环前的赋值语句 k=1 错误,应改为 k=0D ) 循环中两条赋值语句的顺序错误,应改为 s=s+k : k=k+2

下面程序的输出结果是 public class Test{ public static void main(String[] args){ int[]array={2,4,6,8,10}; int size=6; int result=-1: try{ for(int i=0;i<sizeresult==-1;i++) if(array[i]==20)result=i; }catch(ArithmeticException e){ System.out.println("Catch---1"); }catch(ArrayIndexOutOfBoundsException e){ System.out.println("Catch---2"); }catch(Exception e){ System.out.println("Catch---3"); } } }A.Catch---1B.Catch一--2C.Catch---3D.以下都不对

下列域名书写正确的是( )。A._cateh.gov.cnB.catch.gov.cnC.catch,edu,cnD.catch..gov,cnl

以下程序拟实现计算s=1+2*2+3*3+…+n*n+…,直到slOOO);改为while(s=1000);B.把s=1;改为s=0;C.把n=1;改为n=0;D.把n=n+1;改为n=n$n;

下列程序的输出结果是( )。 Public class Test{ Public static void main(String[]args){ int[]array=(2,4,6,8,10); int size=6; int result=-l: try{ for(int i=0;isizeresult= =-1:) if(array[i]= =20)result=i: } catch(ArithmeticException e){ System.out.println("Catch---1"); } catch(ArraylndexOutOfBoundsException e){ System.out.println("Catch---2"): } catch(Exception e){ System.out.println("Catch---3"): } }A.Catch---1B.Catch---2C.Catch---3D.以上都不对