美文网首页
异常捕获

异常捕获

作者: 不爱钱的张师傅 | 来源:发表于2019-01-17 23:38 被阅读0次

困惑

在学习 C++ 和 java 时,都学习了异常的捕获。

try
{
// 保护代码
}catch( ExceptionName e1 )
{
// catch 块
}

一直以为这是代码写不好的人才需要学习的内容。学到 python 时,我才了解到,原来异常捕获确是必要的。

当程序出现异常

Traceback (most recent call last):
File "E:/Projects/xxx.py", line 3, in <module>
print (firstnum/secondnum)
ZeroDivisionError: division by zero

这是一个异常。捕获异常目的就是,用其它处理方式使这段信息不被用户看到。无论是 pass 还是 提示其它信息。

为什么一定要捕获

请仔细看上段异常信息。

  1. 这段信息对用户不友好。一眼看不懂,当然,两眼一般也看不懂,因为客户不懂代码。
  2. 信息泄露。这段报错信息,泄露了我出错的代码文件名,甚至连出错的这一行代码都泄露了出来。这样,恶意用户可以对这行代码进行分析抓取漏洞进行攻击。这是 Python 底层报上来的信息,我们没法改,只能 try catch.

什么时候捕获

关于什么时候捕获。见过旧代码到处写 try,catch 的。也见过从来不写的。这两种对待方式都不太恰当。该不该写,还是要看代码是给谁看的,适合显示什么样的信息。毕竟,我们是面向对象编程嘛(虽然还没有对象)。

相关文章

  • Python面向对象2

    异常 捕获异常image.png根据错误类型捕获异常image.png 未知错误捕获image.png 捕获异常完...

  • 工作总结-002

    异常捕获service捕获业务异常,自定义BaseException;interface捕获业务异常,以及其他异常...

  • C++学习第20课,异常

    1 异常 一句话概括:捕获异常 1.1 谁捕获异常?捕获谁? A捕获B A() { try{ B(); } ...

  • Python 面向对象 - 08 异常

    目录一、概念二、捕获异常2.1 简单的捕获异常语法2.2 错误类型捕获2.3 异常捕获完整语法三、异常的传递四、抛...

  • springboot 异常捕获和处理

    springboot 异常捕获和处理 异常捕获处理

  • iOS 异常捕获处理机制(初级篇)

    一、异常处理简介 二、异常捕获案例 使用@try catch捕获异常 例1是最简单的一种写法: 捕获异常之嵌套捕获...

  • python3.7异常小记

    首先上示例代码: 这段代码包含了,异常分支类型捕获,无异常捕获,有无异常都会捕获的执行逻辑。 捕获全局异常 对入口...

  • Python异常处理

    Python异常处理 一、捕获异常 1.异常捕获语法 2.错误类型捕获 except:处理所有异常。except ...

  • 自定义异常捕获 与 自定返回json 数据格式

    1. 自定义异常捕获 自定的异常 2 捕获异常 =================================...

  • python知识点

    异常捕获 try ... except 捕获所有异常 Exception as reselt 自己定义异常: ra...

网友评论

      本文标题:异常捕获

      本文链接:https://www.haomeiwen.com/subject/wvgwdqtx.html