当前位置:首页>python>Python异常处理:finally 与 else 用法

Python异常处理:finally 与 else 用法

  • 2026-06-29 21:00:47
Python异常处理:finally 与 else 用法

上一期我们掌握了try…except的基础用法,学会了如何捕获特定异常、处理异常,让代码摆脱“一报错就罢工”的困境。但在实战开发中,仅仅捕获异常还不够——有时候无论程序是否报错,我们都需要执行某些固定操作;有时候我们还想在程序正常执行时,额外做一些逻辑处理。

今天我们就来解锁try…except的进阶拓展:finally与else子句,这两个子句搭配try…except使用,能让你的异常处理逻辑更完整、更优雅,覆盖更多实战场景,从“能处理异常”升级到“会灵活处理异常”,让代码更健壮、更具可读性。

📌 为什么需要finally与else?

我们先回顾一下上一期的核心:try块包裹可能异常的代码,except块处理异常。但实际开发中,会遇到两个常见问题:

1.  资源释放问题:比如打开的文件、建立的数据库连接,无论程序是否触发异常,都需要关闭资源,否则会造成资源泄露;

2.  正常逻辑拓展:当try块中的代码正常执行、没有触发任何异常时,我们想执行一些额外操作(比如提示执行成功、记录日志),如果写在try块末尾,会和核心逻辑混淆,不够清晰。

而finally和else的出现,正好解决了这两个问题——finally负责“必执行”操作,else负责“正常执行后”的操作,二者搭配try…except,形成完整的异常处理闭环。

# 先看一个痛点案例(无finally/else)try:    f = open("test.txt""r")    content = f.read()    print(content)except FileNotFoundError:    print("错误:文件不存在!")# 问题:如果文件存在(正常执行),或文件不存在(触发异常),文件都未关闭# 长期如此会导致资源泄露

这就是finally的核心价值——无论try块是否触发异常,无论except块是否执行,finally块中的代码一定会执行。而else则可以让我们清晰区分“异常处理逻辑”和“正常执行逻辑”,让代码结构更清晰。

🔧 核心语法:try…except…else…finally 完整结构

finally和else都是try…except的拓展子句,可单独使用,也可组合使用,核心语法如下(注意顺序不可颠倒):

# 完整语法结构(顺序固定:try → except → else → finally)try:    # 可能触发异常的核心代码    代码块1except 异常类型:    # 异常触发后,执行的处理逻辑    代码块2else:    # 只有try块正常执行(未触发任何异常),才会执行的逻辑    代码块3finally:    # 无论是否触发异常,无论except/else是否执行,一定会执行的逻辑    代码块4

语法关键注意点(必记):

  • 顺序不可乱:else必须在except之后、finally之前;finally必须在最后,是整个异常处理结构的收尾;

  • 可选性:except是必选(try不能单独存在),else和finally是可选,可根据需求组合(比如try+except+finally、try+except+else、try+finally);

  • 执行逻辑优先级:try → 异常则执行except → 正常则执行else → 无论怎样最后执行finally。

🔍 分拆解析:else 用法(正常执行才触发)

else子句的核心逻辑:“只有try块中的代码完全正常执行,没有触发任何异常(包括所有except未捕获的异常),才会执行else块中的代码”。一旦try块触发异常,else块会被直接跳过,无论except块是否处理该异常。

适用场景:执行正常逻辑的后续操作,比如提示执行成功、记录正常日志、返回结果等,让核心逻辑与后续操作分离,代码更整洁。

# else 实战示例1:基础用法try:    a = 10    b = 2    result = a / b    print(f"计算结果:{result}")  # 正常执行,无异常except ZeroDivisionError:    print("错误:除数不能为0!")else:    # 只有try块正常执行,才会执行这里    print("计算完成,无异常,程序正常执行!")print("后续代码继续执行")# else 实战示例2:触发异常,else不执行try:    a = 10    b = 0    result = a / b  # 触发ZeroDivisionErrorexcept ZeroDivisionError:    print("错误:除数不能为0!")else:    print("计算完成,无异常")  # 不会执行,因为触发了异常print("后续代码继续执行")

核心亮点:else块相当于“正常执行的回调”,不需要在try块末尾添加额外代码,就能清晰区分“核心逻辑”和“正常后续操作”,提升代码可读性。

避坑提醒:else块不能单独存在,必须紧跟在except块之后;如果try块触发了未被except捕获的异常,程序会崩溃,else块也不会执行。

🔍 分拆解析:finally 用法(必执行,不中断)

finally子句的核心逻辑:“无论发生什么情况(try正常执行、try触发异常被except捕获、try触发异常未被捕获),finally块中的代码一定会执行”,哪怕except块中出现异常、哪怕try/except/else中有return语句,finally也会执行完毕再继续。

适用场景:资源释放(关闭文件、关闭数据库连接、释放锁)、清理操作(删除临时文件、重置状态),是保证程序“优雅收尾”的关键。

# finally 实战示例1:资源释放(最常用场景)try:    f = open("test.txt""r")    content = f.read()    print(content)except FileNotFoundError:    print("错误:文件不存在!")finally:    # 无论是否触发异常,一定会关闭文件,释放资源    if "f" in locals():  # 判断文件是否成功打开        f.close()    print("文件操作完毕,资源已释放")# finally 实战示例2:即使有return,也会执行def calculate(a, b):    try:        result = a / b        return result  # try正常执行,准备return    except ZeroDivisionError:        print("错误:除数不能为0!")        return None    finally:        # 无论是否return,都会执行        print("计算操作结束(无论成功与否)")calculate(102)  # 正常执行,先打印finally内容,再返回结果calculate(100)  # 触发异常,先打印except,再打印finally,最后返回None

核心亮点:finally块的“必执行”特性,能有效避免资源泄露,哪怕程序崩溃前,也会执行清理操作,让程序更健壮、更可靠。

避坑提醒:finally块中尽量不要写可能触发异常的代码,否则会覆盖原有的异常信息,导致后续排查问题困难。

💡 实战组合:4种常见使用场景(覆盖80%开发需求)

结合try、except、else、finally的特性,整理4种实战中最常用的组合方式,按需选择,灵活运用。

1. try + except + finally(最常用)

适用场景:需要捕获异常、处理异常,同时必须执行资源释放/清理操作(比如文件操作、数据库操作)。

# 示例:文件读取(捕获异常+关闭文件)try:    f = open("data.txt""r", encoding="utf-8")    data = f.readlines()    print(f"读取到{len(data)}行数据")except (FileNotFoundError, UnicodeDecodeError) as e:    print(f"文件操作异常:{e}")finally:    if "f" in locals():        f.close()    print("文件操作收尾,资源已释放")

2. try + except + else

适用场景:需要捕获异常、处理异常,同时在正常执行时,执行额外的逻辑(比如记录日志、返回额外信息)。

# 示例:用户输入验证(正常执行则提示成功)try:    age = int(input("请输入你的年龄:"))except ValueError as e:    print(f"输入错误:{e},请输入有效的整数!")else:    print(f"年龄输入成功,你的年龄是{age}岁")    # 可添加额外逻辑,比如判断年龄是否合法    if age < 0 or age > 120:        print("提示:年龄范围异常,请确认输入!")

3. try + finally

适用场景:不需要处理异常(允许程序崩溃),但必须执行资源释放/清理操作(比如某些测试场景、简单的文件操作)。

# 示例:简单文件写入(不处理异常,但必须关闭文件)try:    f = open("log.txt""w")    f.write("程序运行日志:正常执行")finally:    f.close()    print("日志写入完毕,文件已关闭")# 若触发异常(比如文件权限不足),程序会崩溃,但finally依然会执行

4. try + except + else + finally(完整闭环)

适用场景:复杂业务场景,需要捕获异常、处理异常、正常执行后续操作、执行收尾清理,比如实战开发中的接口调用、数据处理。

# 示例:数据处理完整流程try:    # 核心逻辑:读取数据、计算    nums = [1234]    index = int(input("请输入索引:"))    result = nums[index] * 10except (IndexError, ValueError) as e:    # 异常处理    print(f"操作异常:{e}")else:    # 正常执行后续操作    print(f"计算成功,结果:{result}")finally:    # 收尾清理    print("数据处理流程结束,清理临时资源")

❌ 必避的5个finally与else使用坑

finally和else看似简单,但在使用时很容易陷入误区,尤其是和return、异常捕获顺序结合时,这5个坑一定要避开,避免代码逻辑出错、排查困难。

  • 坑1:else顺序错误:将else放在except之前或finally之后,会直接报语法错误,记住顺序:try → except → else → finally;

  • 坑2:认为else能捕获异常:else不具备捕获异常的功能,只要try块触发异常,else就会被跳过,哪怕异常未被except捕获;

  • 坑3:finally块中写return:finally块中的return会覆盖try/except/else中的return值,导致返回结果异常,尽量不要在finally中写return;

  • 坑4:忽视finally的“必执行”:即使except块中触发了新的异常,finally依然会执行,之后程序才会崩溃;

  • 坑5:过度依赖else:else块的逻辑可以写在try块末尾,但用else能让代码更清晰,不过不要为了用else而强行添加,避免冗余。

# 避坑示例(必看)# 坑3:finally中写return,覆盖返回值def test():    try:        return 10  # 正常返回10    finally:        return 20  # 覆盖try的return,最终返回20print(test())  # 输出20(错误,不符合预期)# 坑4:except触发新异常,finally仍执行try:    10 / 0  # 触发ZeroDivisionErrorexcept ZeroDivisionError:    print(10 / "0")  # 触发新的TypeErrorfinally:    print("finally必执行")  # 会执行,之后程序崩溃# 输出:finally必执行 → 报错TypeError

📝 核心总结

  • else:“正常执行才触发”,仅当try块无异常时执行,用于拓展正常逻辑,让代码结构更清晰;

  • finally:“无论怎样必执行”,用于资源释放、清理操作,是保证程序优雅收尾的关键;

  • 核心顺序:try → except → else → finally,except必选,else和finally可选,可灵活组合;

  • 实战重点:优先掌握“try+except+finally”组合,覆盖大部分资源操作场景;else用于区分正常逻辑和异常逻辑,提升代码可读性;

  • 避坑核心:不颠倒顺序、不在finally写return、不忽视finally的必执行特性、不依赖else捕获异常。

学到这里,你已经掌握了Python异常处理的完整语法(try+except+else+finally),能应对绝大多数实战场景的异常处理需求。异常处理的核心不是“避免异常”,而是“优雅地处理异常、合理地收尾”,多结合实战案例练习,就能熟练运用,让你的代码更健壮、更专业。

✨ 小任务:用try…except…else…finally完善以下代码,实现“读取文件内容并计算行数”,要求:捕获文件不存在、编码错误2种异常,正常执行时提示行数,无论是否异常都关闭文件,最后提示操作结束。

# 待完善代码# 目标:读取test.txt文件,计算文件行数,处理异常,关闭文件f = open("test.txt""r", encoding="utf-8")lines = f.readlines()print(f"文件共有{len(lines)}行")f.close()print("文件操作结束")
读懂代码的骨架,驾驭AI的血肉,做数字时代的超级个体🔥

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 22:56:43 HTTP/2.0 GET : https://f.mffb.com.cn/a/489823.html
  2. 运行时间 : 0.193535s [ 吞吐率:5.17req/s ] 内存消耗:4,684.97kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=fea726d165c1c6920f136bb4dfab2361
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000412s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000536s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000289s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000261s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000569s ]
  6. SELECT * FROM `set` [ RunTime:0.002127s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000650s ]
  8. SELECT * FROM `article` WHERE `id` = 489823 LIMIT 1 [ RunTime:0.015407s ]
  9. UPDATE `article` SET `lasttime` = 1783090603 WHERE `id` = 489823 [ RunTime:0.004073s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000262s ]
  11. SELECT * FROM `article` WHERE `id` < 489823 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002199s ]
  12. SELECT * FROM `article` WHERE `id` > 489823 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000813s ]
  13. SELECT * FROM `article` WHERE `id` < 489823 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.033371s ]
  14. SELECT * FROM `article` WHERE `id` < 489823 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.058933s ]
  15. SELECT * FROM `article` WHERE `id` < 489823 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004349s ]
0.195114s