文件未找到为啥抛出异常

java,python对于文件未找到为啥抛出异常,而不是返回false或者空值

这叫做"故障导向安全原则",一个程序出现异常意味着后续执行的不可靠,这种情况下必须让程序员主动处理这些异常,否则终止程序执行
只有丢出异常才能达到这个效果。

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/744378
  • 你也可以参考下这篇文章:在java中调用python文件(最方便的一种方法)
  • 除此之外, 这篇博客: java程序员的python之路(面向对象)中的 私有 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 上面的类中的属性和方法,在类外都可以通过点的方式来调用。为了保证封装性以及安全,某些属性和方法要禁止外部访问。python中双下划线开始的属性和方法是私有的,外部不能直接访问,如下例:

    class Duck(Bird):
        def __init__(self,c,swi):
            Bird.__init__(self, c)
            self.__swim = swi
    
        def swimm(self):
            if self.__swim:
                print("I can swim")
            else:
                print("I can not swim")
    
        def __setSwim(self,swim):
            self.__swim = swim
    duck = Duck("write",True)
    duck.swimm()    
    duck.__setSwim(False)
    print(duck.__swim)        

    输出结果:

    Bird init
    I can swim
    Traceback (most recent call last):
      File "E:\workspace-python\firstpython\src\first.py", line 36, in <module>
        duck.__setSwim(False)
    AttributeError: 'Duck' object has no attribute '__setSwim'
    

    报错,说明爽下划线开始的成员变量和成员方法,不能在外部访问。

  • 您还可以看一下 马良老师的Python入门课,人工智能时代比java还有用的语言课程中的 Python是什么小节, 巩固相关知识点