当前位置: 首页 > 知识库问答 >
问题:

python遇到错误时怎么让程序重新执行?

澹台景辉
2023-08-27

连try都没法捕获这种错误吗,程序直接停了

try:    with open('','r', encoding='utf-8') as file:        content = file.read()        print(content)except Err:    print("出错了")

with open('','r', encoding='utf-8') as file:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: ''

共有1个答案

卢俊发
2023-08-27

指定文件错误类 FileNotFoundError 就能捕获,如果题主是需要通用错误捕获也是 Exception,我印象中没有 Err 这个错误类

try:    with open('', 'r', encoding='utf-8') as file:        content = file.read()        print(content)except FileNotFoundError:    print("文件不存在")# 或者捕获全部错误try:    with open('', 'r', encoding='utf-8') as file:        content = file.read()        print(content)except Exception:    print("文件不存在")
 类似资料:
  • 其他命令,如leinrepl和leindeps等工作正常。 结果如下 C:\Users\test Leiningen 2.0.0-Java1.7.0JavaHotSpot(TM)64位服务器虚拟机上的预览3 C:\Users\test 基于“默认”模板生成名为first的项目。JAVAlang.IllegalArgumentException:没有实现方法::使协议的读取器:#'clojure。J

  • 其他命令,如lein repl和lein deps等,工作良好。 Java 1.7.0 Java HotSpot(TM)64位服务器VM上的Leiningen 2.0.0-Preview3 C:\users\test>Lein new first

  • 我有一个记录课程: 我创建了一个包含很多记录的大列表。只有第二个和第五个值,即i/10000和i,稍后分别由getter使用。 请注意,前10000条记录的类别2为0,接下来的10000条记录的类别1等,而值1按顺序为0-114999。 我创建了一个既并行又排序的流。 我有一个ForkJoinPool,它维护8个线程,这是我电脑上的内核数。 我使用这里描述的技巧将流处理任务提交给我自己的,而不是常

  • 两个vue组件功能一套代码,第一个组件是如下 代码如下: 第一个 组件打印fkCateList出来这样的格式 用JSON.parse(this.transferParams.fkCateList) 第二个是组件打印出来是 这样的格式 第二个是组件打印出来报错了,如下图 大佬们,遇到这种问题要解决呢,现在是通用的代码下,怎么修改呢

  • 我添加Nuget Package Install-Package MvcSiteMapProvider.MVC4 编译器错误消息: CS1705:程序集'MvcSite Map提供者,版本=4.6.18.0,文化=中性,公共密钥令牌=1923abe4657913cc'使用'System. Web. Mvc,版本=4.0.0.0,文化=中性,公共密钥令牌=31bf3856ad364e35',其版本高

  • tauri应用打包,提交到mac app store,提交的时候报CFBundleExecutable 不正确,可是我设置了和APP名字一样的,一直报错,plist 里面检查没有问题,有人遇到这个问题过吗 Asset validation failed (90259) Bad Bundle Executable. You must include a valid CFBundleExecutabl