<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>13 on 中二青年</title>
    <link>https://zhong-er.com/tags/13/</link>
    <description>Recent content in 13 on 中二青年</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Thu, 08 Aug 2019 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://zhong-er.com/tags/13/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>【Python】异常处理</title>
      <link>https://zhong-er.com/posts/python%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86/</link>
      <pubDate>Thu, 08 Aug 2019 00:00:00 +0000</pubDate>
      <guid>https://zhong-er.com/posts/python%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86/</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;img alt=&#34;Python异常处理.png&#34; loading=&#34;lazy&#34; src=&#34;https://zhong-er.com/assets/201908112295_3450_1.png&#34;&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Python异常处理 &amp;raquo;&amp;gt;&lt;/strong&gt;&lt;a href=&#34;https://mubu.com/doc/3HxHgXnqf8&#34; title=&#34;思维导图&#34;&gt;&lt;strong&gt;思维导图&lt;/strong&gt;****&lt;/a&gt;&lt;strong&gt;&amp;gt; &amp;raquo;&lt;/strong&gt;&lt;a href=&#34;https://www.cnblogs.com/renvip/p/11322367.html&#34; title=&#34;博客园&#34;&gt;&lt;strong&gt;博客园&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;什么是异常处理？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;程序在运行过程中出现了不可预知的错误&lt;/p&gt;
&lt;p&gt;并且该错误没有对应的处理机制，那么就会以异常的形式表现出来&lt;/p&gt;
&lt;p&gt;造成的影响就是整个程序无法正常运行&lt;/p&gt;
&lt;p&gt;异常的结构&lt;/p&gt;
&lt;p&gt;1.异常的类型：NAMEERROR&lt;/p&gt;
&lt;p&gt;2.异常的信息：name &amp;lsquo;abc&amp;rsquo; is not defined&lt;/p&gt;
&lt;p&gt;3.异常的位置：Traceback (most recent call last): File &amp;ldquo;路径&amp;rdquo;, line 1, in &lt;module&gt; abc&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;异常的种类：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;1.语法错误&lt;br&gt;
是你程序立刻就能解决的，这种错误是不能被容忍的，语法上的错误，发现之后应该立刻解决&lt;/p&gt;
&lt;p&gt;2.逻辑错误&lt;br&gt;
这种错误是可以被容忍的，因为一眼看不出来，针对逻辑上的错误，可以采用异常处理机制进行捕获&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;常见的错误类型&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;NameError 名字错误&lt;/p&gt;
&lt;p&gt;SyntaxError 语法错误&lt;/p&gt;
&lt;p&gt;KeyError 健不存在&lt;/p&gt;
&lt;p&gt;valueError 值错误&lt;/p&gt;
&lt;p&gt;IndexError 索引错误&lt;/p&gt;
&lt;p&gt;TypeError 类型错误&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;异常处理&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在你认为可能出现bug的代码块上方try一下&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;try:
	可能出错的代码
except 出错的类型 as e:  # 将报错信息赋值给变量e
	出错之后的处理机制
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意try内部的代码块越少越好&lt;/p&gt;
&lt;p&gt;try后可跟多种except异常类型的捕获，但是不会连续连续捕获，因为有一个错误发生之后，会立刻停止代码的运行，执行该类型错误的except语句&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;try:
    name
    l = [1,2,3]
    l[111]
    d = {&#39;name&#39;:&#39;jason&#39;}
    d[&#39;password&#39;]
except NameError:
    print(&#39;NameError&#39;)
except IndexError:
    print(&#39;indexerror&#39;)
except KeyError:
    print(&#39;keyerror&#39;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Exception 所有异常的基类，所有异常类型都被捕获&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
