java吧 关注:1,229,215贴子:12,690,604
  • 11回复贴,共1

虚心求教一简单异常的问题

只看楼主收藏回复


经过自定义继承Exception类的异常ABC后,我没有用throw语句将异常抛出,而是空着在函数后面写了throws,结果17行调用函数时直接报错说异常未被处理。提问:throws会产生异常吗,私以为throws还是一个未雨绸缪的工具。刚刚在百度找了一下,没有发现一针见血的答案。
感谢您能读我的代码。


IP属地:湖南1楼2021-02-18 11:52回复

    修改(一路throws直到抛给jvm)之后,更不理解的事情发生了:
    检查框里只有警告,运行结果没有报错而且只打印了“this”
    AB两个异常类不是继承了Exception吗,当然不是RuntimeException的子类为什么不会报错?


    IP属地:湖南2楼2021-02-18 11:57
    收起回复
      你的问题是不知道exception 与runtimeexception的区别吧!
      自定义异常时 如果不需要抛出方强制调用者捕获处理,那么一律继承runtimeexception


      IP属地:山东来自Android客户端3楼2021-02-18 15:12
      收起回复
        另外 其实异常是一种特殊的if else
        本身不应该理解为是一种负累,而是应该理解为一种便利

        string s= "22"
        int a :
        try
        a= integer。parseint(s)
        catch
        a=100
        这样a始终是一个解析后的数字


        IP属地:山东来自Android客户端4楼2021-02-18 15:17
        回复