JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意

JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意,第1张

throw 仅用于方法定义后面,指示该方法可能会抛出什么异常,使用该方法的方法必须处理该异常,或者再次抛出。

throws 用于当程序判断发生异常时,用该语句抛出异常,或处理异常时再次抛出异常。

//下面三个关键字就是处理异常

try {

//这里放可能会发生异常的语句

} catch(Exception e) {

//这里处理异常

} finally {

//这里的语句必然会得到执行,不管异常发省与否,

//用于关闭数据库,关闭连接等收尾 *** 作(非必要)

}

java异常的一个简单例子,比如我有一个除法方法

public int divide(int a, int b) {

return a / b;

}

但是这就有一个问题,当b是0时,程序会报错。

如果引入异常,改成这样

public int divide(int a, int b) throws Exception {

if (b == 0) {

throw new Exception("b = 0");

}

return a / b;

}

那么调用端该怎么用呢

public class ExceptionTest {

public static void main(String[] args) {

ExceptionTest et = new ExceptionTest();

try {

Systemoutprintln(etdivide(12, 0));

} catch (Exception e) {

Systemoutprintln("0不能做被除数");

}

}

public int divide(int a, int b) throws Exception {

if (b == 0) {

throw new Exception("b = 0");

}

return a / b;

}

}

程序可以继续执行,不会中断。

一、C#的异常处理所用到关键字

try 用于检查发生的异常,并帮助发送任何可能的异常。

catch 以控制权更大的方式处理错误,可以有多个catch子句。

finally 无论是否引发了异常,finally的代码块都将被执行。

throw 用于引发异常,可引发预定义异常和自定义异常。

二、C#异常处理的格式

try

{

程序代码块;

}

catch(Exception e)

{

异常处理代码块;

}

finally

{

无论是否发生异常,均要执行的代码块;

}

三、异常处理实战

一个除数和零的简单例子:

public class DivisorIsZero

{

private static void Main()

{

int dividend=10;

int divisor1=0;

int divisor2=5;

int DivideValue;

try

{

DivideValue=dividend/divisor1; //(1)

//DivideValue=dividend/divisor2; //(2)

SystemConsoleWriteLine("DivideValue={0}",DivideValue);//(3)这一行将不会被执行。

}

catch

{

SystemConsoleWriteLine("传递过来的异常值为:{0}",e);

}

finally

{

SystemConsoleWriteLine("无论是否发生异常,都会显示。");

}

}

}

注:(1)行被执行则会抛出一个异常,如果没有catch语句,程序会异常终止,使用不带参数的catch子句,则可以捕获任意类型的异常。

如果将(1)行注释掉,启用(2)行,这意味该程序运行时不会出现异常,从输出可知,finally代码块仍将被执行。

可以给try语句提供多个catch语句,以捕获特定的异常,如上例中:0作为除数则会引发DivideByZeroException类型的异常,上例中的catch语句可以作如下修改:

catch(DivideByZeroException e)

{

SystemConsoleWriteLine("零不能作为除数!异常值为:\n{0}",e);

}

catch(Exception e)

{

SystemConsoleWriteLine("并非\''零作为除数引发的异常\"!异常值为:\n{0}",e);

}

很正常,这句throw 22;不起作用,,因为你在下面代码中 只捕获int类型的异常,而没有捕获其他类型的异常。当异常堆栈展开的时间,由于没有找到空指针类型的异常,程序就将控制权交给了系统处理了,因此throw 22;//根本就没有执行到这里。

java中throw和throws的区别

throw语句用在方法体内,表示抛出异常,由方法体内的语句处理。

throws语句用在方法声明后面,表示抛出异常,由该方法的调用者来处理。

throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常。

throw是当程序出现某种逻辑错误时由程序员主动抛出某种特定类型的异常是,具体向外抛异常的动作,所以它是抛出一个异常实例。

throw与throws的比较

1、throws出现在方法函数头;而throw出现在函数体。

2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常对象。

3、两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。

throws:

public static void write() throws FileNotFoundException {

FileInputStream fileInputStream=new FileInputStream("c");

}

throw:

String s = "abc";

if (sequals("abc")) {

throw new NumberFormatException();

} else {

Systemoutprintln(s);

}

如果对编程感兴趣可以来我这个看看,希望对您有所帮助!~

抛出异常的作用有很多,主要的有:

1、不会让你的程序挂掉,你可以把这个异常catch住,不妨碍程序的运行

2、可以让你很清楚地知道程序出了什么问题,这样在维护起来比较方便

举个例子先。

funA()

{

//

while()

{

if()

{

throw new exception;

}

}

}

funB()

{

funA();

}

int main()

{

try{

funB();

}

catch(exception e)

{

//捕获到异常

}

}

在函数A中,由于某种原因抛出了一个异常,这不但会退出循环,同时还会退出整个A函数。

由于调用A函数的B没有捕获这个异常,因此B也要退出。异常继续往上传递,现在到了main函数,它里面使用try-catch捕获到了这个异常,因此进入了catch代码块。

简而言之就是 throw一个异常会退出这个函数的调用堆栈,直到其上级堆栈有捕获为止。如果都没有捕获,那么程序退出。退出错误为,unhandled exception。

问题一,你用throw,意思是抛出异常,你可以有2个选择,1用try

catch对其处理,2。在方法上用throws继续抛出异常,这是异常处理的2个机制

问题二你在填充数据适配器的时候可以给个别名,如你说的message,去代指填充的表名,如果你不指定的话,那就是数据库中的原表名。

以上就是关于JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意全部的内容,包括:JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意、运用try、catch、finally、throw编写C#程序实现异常处理、C+编程问题:try,catch,throw代码不起作用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10067602.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存