java 中加 try catch,在java语言中trycatch的catch中能否再加tryc, java中 trycatch语句

导航:网站首页 >

在java语言中trycatch的catch中能否再加tryc, java中 trycatch语句

在java语言中try-catch的catch中能否再加try--catch? , java中 try-catch语句

匿名网友:

try{……}里面是一些你觉得可能会出问题的代码,catch里就是你觉得会有什么问题,如果出的问题正好是你catch里说到的问题,那么他就会按照你设定的,比如会打印出来,比如会退出方法等等……然后接着往下执行后面该执行的代码。

但是如果你不用try{}的话,没问题,很好,一有问题,代码就会在那里停住,然后给用户一个很不友好的默认的错误提示,一般这个提示只有开发人员等内行人可以看懂。

也就是说加不加try,区别在于不加程序不知道怎么执行,会停住,而加了,就会按您给定的处理异常程序的步骤,处理完了,接着走往下的代码,不会down机。

另外,有try可以没有catch,try还可以和finally{}搭配,但是有try必须有catch或者finally中的一个。

还有,如果不想在这个方法里处理,而在调用的方法里一起处理的话,可以直接在方法的签名也就是方法名后的小括号后面,加throws Exception,把异常抛给别人,像推太极一样,推给别人,谁调用我,谁就要负责处理。

不知道您明白了没?Q:535521469

匿名网友:

try{ 这里写你觉得可能会出现异常或你觉得要捕获的异常}catch(Exception e){这里是你要捕获的异常 当出现异常时,在这里写上你的处理代码} try/catch的功能是捕捉异常所以在需要这个功能的时候就需要try/catch1)java中即使不会发生异常的代码也是可以用try/catch,catch句不会被认为不可达代码2常见需要捕捉的异常 a.IO异常:使用输入输出流读写文件的时候, b.类型转换异常:不确定被转换变量是否满足条件的时候,如下 String str = "a"; Integer.parseInt(str); c.DB异常:数据库操作时常伴随有异常的发生 如:加载驱动,创建Connection,Statement,ResultSet对象,SQL语句执行 注:数据库操作中经常使用finally来进行对象的关闭 d.工程自定义异常:大多为了输出自定义异常信息 如:输入网址是不安全地址的时候,出一个不安全的提示.可以用catch块完成...

匿名网友:

仔细一看就知道了:public Test() throws RepletException {try {System.out.println("Test this Project!")}catch (Exception e) {throw new Exception(e.toString());}}throws是用来声明一个方法可能抛出的所有异常信息throw则是指抛出的一个具体的异常类型。

通常在一个方法类的声明处通过throws声明方法类可能抛出的异常信息,而在方法类内部通过throw声明一个具体的异常信息。

throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出。

匿名网友:

throws是用来声明一个方法可能抛出的所有异常信息throw则是指抛出的一个具体的异常类型。

通常在一个方法类的声明处通过throws声明方法类可能抛出的异常信息,而在方法类内部通过throw声明一个具体的异常信息。

throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后再将包装后的异常信息抛出。

对异常处理方式不同.throws对异常不处理,谁调用谁处理,throws的Exception的取值范围要大于方法内部异常的最大范围,而cathch的范围又要大于throws的Exception的范围;throw 主动抛出自定义异常类对象. throws抛出的是类,throw抛出的是对象. 在方法定义中表示的是陈述语气,第三人称单数,throw 显然要加s。

(throws 一般用作方法定义的子句)在函数体中要用throw,实际上是祈使句+强调,等价于DO throw ....,do +动词原形throw 用于引发异常,可引发预定义异常和自定义异常。

I异常中“throws”和“throw”的区别:throw 是个“动词”,紧接在try语句块之后。

而throws 是“名词” ,用在函数方法名后 function A () throws Exception e {} throw用在程序中明确表示这里抛出一个异常。

throws用在方法声明的地方,表示这个方法可能会抛出某异常。

throw用来抛出实际的异常, 后面要跟一个异常对象实例, 是一个实际的语句throws是用来声明的, 加在方法声明的后面, 后面跟一个异常类的名字, 表示一般性动作而不是特指某一个动作.使用throws是来说明,当前的函数会抛出一个异常。

在一般的情况下,你调用的一些函数会抛出一些异常。

但是你又不想在当前的context中去处理它,就可以声明该函数会抛出该异常,这样你就不用去try-catch它了。

当出现该异常,该函数会抛出此异常,让上一层的函数去处理。

throws也称异常规范public static h() throws{ try { a.g(); } catch(Exception e) { throw e; }}因为你没有对这个异常处理,而是简单的抛出了。

而单纯的声明public static h() throws{ a.g);}也会抛出这个异常II)try catch \throws \throwthrows如果发生了对应的错误后,下边的的确不会被执行;try catch的理解应该辩证点看:如果catch后没有再次throw出去,那会继续执行;要想不执行必须throw处理throws 抛出异常,解决不了再向上,直道碰到能解决这个异常的处理程序,就好像你的上司让你执行一项任务,中途你遇到问题不知道如何解决,你把问题返还给你的上司,认为既然是T分配的任务就该知道如何解决这个问题,你的上司无法解决同样把它送给经理解决,依次向上,直到有人能解决这个问题为止不想自己另外写代码处理异常时非常有用try catch 则是考虑到try包含这段代码可能会遇到这种异常,直接用catch捕获处理,catch包含的代码为处理代码throws 只是把一个异常抛出去了,如果你的上层代码有处理方式,就由上层代码来处理这个异常。

而try/catch对是清楚的知道该操作可能出现什么异常,同时在catch块中应该有处理的方法。

而且还有一种方式就是try/catch/finaly的方式。

Throws是把异常返回给调用者,由调用者处理,调用者还是要try/catch,跑不掉的catch中就一个简单的SYSTEM.OUT.PRINTLN…………;还有,连接数据库时会连接不上,你也不知道是驱动问题、电脑问题还是网络问题,发给用户,用户也看不懂,所以统统throws给catch,提示请与管理员联系。

这就简单多了throws 写在方法签名后,throw 写在方法体内,可以写在if)....也可以catch住一个exception后立刻又把他throw 出去,什么处理也不做,还可以catch住后throw new 一个你自己定义的exception ....throws 就是把异常抛出,但是在以后要不有个catch接受,要不就抛给主函数.就是逐级往上一级抛,直到有一个接受他的Throws抛出异常交给调用该方法的方法 处理,即:public class Test{ public static void main(String args){ Test2 test2 = new Test2(); try{ System.out.println("invoke the method begin!"); test2.method(); System.out.println("invoke the method end!"); }catch(Exception e){ System.out.println("catch Exception!"); } }}class Test2{ public void method() throws Exception{ System.out.println("method begin!"); int a = 10; int b = 0; int c = a/b; System.out.println("method end!"); }}很明显,答案出来了:invoke the method begin!method begin!catch Exception!finally语句是任选的,try语句后至少要有一个catch或一个finally,finally语句为异常处理提供一个统一的出口,不论try代码块是否发生了异常事件,finally块中的语句都会被执行在覆盖的方法中声明异常在子类中,如果要覆盖父类的一个方法,或父类中的方法声明了throws异常,则子类的方法也可以抛出异常,但切记子类方法抛出的异常只能是父类方法抛出的异常的同类或子类。

如:import java.io.*;class A {public void methodA()throws IOException{.....}}class B1 extends A {public void methodA()throws FileNotFoundException{....}}class B2 exten...

匿名网友:

try-catch语句,是一种行为控制语句,这种语句一旦被调用必须执行。

行为必须存在对象或者加载类时必须初始化才能起作用,所以一种方法加载类的时候调用,在类加载到代码区的时候,如果像初始化try-catch语句块,那么就不许放到static静态语句块当中去,否则就无法控制行为。

还有一种方法调用try-catch语句,就是把try-catch语句放到方法体里面去,通过类创建对象,对象本身可以调用方法体来执行。

其实,如果你懂得java的内存机制就很容易理解。

而且try-catch语句是一种行为控制语句,这种语句的初始化必须通过类的加载和对象的调用来实现。

...

问题推荐

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值