java吧 关注:1,247,637贴子:12,728,366
  • 14回复贴,共1

困扰了很久的问题try catch

只看楼主收藏回复

我们都知道,try catch是用来捕获异常的并让程序不中断。但是,有的地方必须要用try catch,比如Thread.sleep(),比如IO等。我想问,为什么非要用try catch呢?如果出错了就让程序报错不就行了?求大神


IP属地:江苏来自Android客户端1楼2015-01-23 09:16回复
    开发的时候能报错,用户用的时候如果出错能不处理?


    IP属地:福建来自Android客户端2楼2015-01-23 09:21
    收起回复
      因为io的方法会抛出IOException,这个叫转移异常。也就是说调用这个方法的时候需要捕获异常,也就是try catch了。具体可以看下源码。


      来自Android客户端3楼2015-01-23 09:35
      收起回复
        这是一种规定,你调用的方法声明了异常或抛出了异常,你外层就要声明异常,捕获异常或者抛出异常。


        IP属地:浙江4楼2015-01-23 09:44
        回复
          只会抛异常不解决异常不算合格的程序,你让谁去解决呢?


          来自Android客户端5楼2015-01-23 09:52
          回复
            有的地方不需要程序手动捕获异常,是应为抛出的是运行时异常RuntimeException,


            来自Android客户端6楼2015-01-23 10:21
            回复
              你说的报错不就是捕获到异常了嘛。不不捕获异常,你怎么看到哪出错


              IP属地:安徽来自Android客户端8楼2015-01-23 11:11
              回复
                楼上楼下都是sb


                IP属地:浙江10楼2015-01-23 13:39
                回复
                  我感觉这是很人性化的设计啊,你没发现必须要用try的地方都是很容易出现异常的地方吗?


                  IP属地:北京11楼2015-01-23 14:23
                  回复