鱼C论坛

 找回密码
 立即注册
查看: 2582|回复: 9

[已解决]怎么给某个脚本中任意位置的异常报错设置固定的后处理操作?

[复制链接]
发表于 2020-2-17 16:28:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一个脚本在运行时可能出现各种各样的异常,例如系统内置的或者自己raise的。我希望在遇到异常的时候,能执行一段固定的代码,然后再退出这个程序,而不是直接Traceback退出这个程序。

这么做的原因是我这个小白的代码潜在bug太多了,很多可能引发异常的地方都没有把所有的情况考虑全,担心奇奇怪怪的输入引发各种报错,想做统一处理了。
最佳答案
2020-2-17 16:44:12
FC的注册很坑 发表于 2020-2-17 16:39
对整个脚本try...except么

可以整个脚本弄啊!若果有错误,实例化错误,然后出错后通过 print  .message()获取错误信息
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-17 16:32:39 | 显示全部楼层
用try......except
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 16:39:53 | 显示全部楼层

对整个脚本try...except么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 16:41:09 | 显示全部楼层
本帖最后由 dlnb526 于 2020-2-17 16:42 编辑

同意楼上,附上例子
  1. a=10
  2. b=0
  3. try:
  4.     c=a/b
  5.     print(c)
  6. except:
  7.     print("出错啦!")
  8. print("done")
复制代码

  1. try:
  2. <语句>        #运行别的代码
  3. except <名字>:
  4. <语句>        #如果在try部份引发了'name'异常
  5. except <名字>,<数据>:
  6. <语句>        #如果引发了'name'异常,获得附加的数据
  7. else:
  8. <语句>        #如果没有异常发生
复制代码




                               
登录/注册后可看大图


希望能帮助到你。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 16:42:45 | 显示全部楼层
FC的注册很坑 发表于 2020-2-17 16:39
对整个脚本try...except么

对,这能这样
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 16:44:12 | 显示全部楼层    本楼为最佳答案   
FC的注册很坑 发表于 2020-2-17 16:39
对整个脚本try...except么

可以整个脚本弄啊!若果有错误,实例化错误,然后出错后通过 print  .message()获取错误信息
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 16:45:56 | 显示全部楼层
FC的注册很坑 发表于 2020-2-17 16:39
对整个脚本try...except么

最好不要对整个程序,尤其程序比较大的时候。
可以在容易出错的地方,放置若干个。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 16:46:17 | 显示全部楼层
dlnb526 发表于 2020-2-17 16:41
同意楼上,附上例子

我知道这个用法,但是有看到过:try 后面的语句最好尽可能的少,except的异常最好尽可能的精确。所以是把整个脚本放在try里吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 16:48:23 | 显示全部楼层
FC的注册很坑 发表于 2020-2-17 16:46
我知道这个用法,但是有看到过:try 后面的语句最好尽可能的少,except的异常最好尽可能的精确。所以是把 ...


你要是脚本中内容能用新的函数方法提出来try后面就可以只放一个函数,然后脚本内容就在函数里,这样好看一些。
另外你知道大概错误位置吗~如果不知道就没啥精确的方法呀
希望可以帮到你!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 16:49:59 | 显示全部楼层
dlnb526 发表于 2020-2-17 16:48
你要是脚本中内容能用新的函数方法提出来try后面就可以只放一个函数。
另外你知道大概错误位置吗~如果不 ...

是个很大的脚本,我已经在一些地方放了try expect了,但是肯定考虑的不全面,所以有了这个需求
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-2 23:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表