Skip to content

Stargazed-Dreamer/mesugaki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mesugaki

将python异常处理的信息转为雌小鬼和傲娇口气~

纯python实现,无第三方库

仅支持中文

注意

本项目仅供娱乐,由于使报错复杂,不适合python初学者使用

由于实现方式并未触及底层虚拟机,在多进程、多线程等条件下可能无法保证子进程、子线程能应用本项目

目前仅囊括了AttributeError、Exception、MemoryError、ZeroDivisionError以及TypeError的一部分信息,更多替换尚未完工,您可以考虑作出贡献

安装

目前没有上传PyPI,请使用release进行安装

使用

  1. 常规使用上下文管理器用法
from mesugaki import Mesugaki

with Mesugaki():
    ...

示例:

from mesugaki import Mesugaki

with Mesugaki():
    1/0

输出:

杂~鱼🧡!让人家看看哥哥的蟒蛇怎么样了~
笨 蛋 ! 蟒蛇都能写错~
才…才不会告诉你…是 "<temp>" 的第 4 行中 <module> 出…出现的问题
    1/0
    ~^~
杂鱼~ 就连你的除数也是零吗~
  1. 采用更常规的输出格式
from mesugaki import Mesugaki

Mesugaki.b_original = True

with Mesugaki():
    ...

示例:

from mesugaki import Mesugaki

Mesugaki.b_original = True

with Mesugaki():
    1/0

输出:

杂~鱼🧡!让人家看看哥哥的蟒蛇怎么样了~
笨 蛋 ! 蟒蛇都能写错~
  File "<temp>", Line 53, in <module>
    1/0
    ~^~
杂鱼~ 就连你的除数也是零吗~

贡献

由于作者过懒,本项目有大量修改空间

有不少异常文本有待替换

想要加入,你至少需要修改mesugaki\data.py文件

如果愿意,你还可以同步添加一个测试到test_main.py

test_main.py文件开头提供的个人风格仅供参考,代码风格无强制要求

注意!添加的各个异常处理方法、键等,请按照字母表的顺序排列

data.py修改

以下操作默认在mesugaki\data.py中进行

  1. 准备
    1. 查看ExceptionHandler.d_table
    2. 检查还有什么异常可以添加,异常大全参见doc\所有异常.txt
  2. 增加
    1. 增加一个对应异常名称的方法,可结合正则表达式re进行字符串寻找。
    2. 若需要结合正则表达式进行字符串寻找,请添加一个名称类似compile_Exception_1re.compile对象,再到方法中使用它。 使用re推荐搭配python官方提供的re测试工具进行测试
    3. ExceptionHandler.d_table增加一个对应项
  3. 完成

如果你还有兴趣,可以协助增加一个测试,操作见下方

test_main.py修改

详见文件中的example

许可证

根据Apache 2.0 license的条款分发

其它

灵感来源于此视频

另贴上评论区另一位大佬的项目,修改的是底层CPython,能够规避多进程不兼容的问题

About

将python异常处理的信息转为雌小鬼和傲娇口气~

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages