异常处理

Python-异常处理

本小妞迷上赌 提交于 2019-12-24 21:03:14
异常和错误 错误: 开发过程中难免出现错误,而错误分成两种 1、语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2、逻辑错误(逻辑错误) 异常: 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下: python中的异常种类 在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误 触发IndexError l=['egon','aa'] l[3] 触发KeyError dic={'name':'egon'} dic['age'] 触发ValueError s='hello' int(s) 常用异常 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包;基本上是路径问题或名称错误 IndentationError 语法错误(的子类) ;代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyError 试图访问字典里不存在的键 KeyboardInterrupt Ctrl+C被按下 NameError 使用一个还未被赋予对象的变量 SyntaxError

异常处理之try except

此生再无相见时 提交于 2019-12-24 09:40:02
编程中遇到的错误常常为语法错误和运行错误。 在程序执行时,异常报错可能会中止程序运行,影响输出结果的显示,此时可用try except 语句进行异常处理,将错误直接输出打印出来,而不是报错。 例如: try : print ( 1 / 0 ) except Exception as e : print ( e ) ## 输出结果:division by zero try : print ( a ) except NameError as n : print ( n ) name ## 输出结果: 'a' is not defined 来源: CSDN 作者: 小研一枚 链接: https://blog.csdn.net/qq_35027690/article/details/103673393

异常处理

◇◆丶佛笑我妖孽 提交于 2019-12-24 07:39:31
RuntimeException 运行时异常 逻辑异常 CheckedException 已检查异常 RuntimeException 运行时异常 逻辑异常 package cn . cn . 异常 ; /* RuntimeException 运行时异常 逻辑异常 CheckedException 已检查异常 ArithmeticException 加判断 */ public class TestException { public static void main ( String [ ] args ) { //ArithmeticException异常 int a = 0 ; int b = 5 ; //System.out.print(b/a); //处理加判断 if ( a != 0 ) { System . out . print ( b / a ) ; } //空指针异常NullPointerException String str = null ; //str.length(); //处理加判断 if ( str != null ) { str . length ( ) ; } //异常.ClassCastException Animal d = new Dog ( ) ; Cat c = ( Cat ) d ; //处理可以加判断 /

springboot统一异常处理

两盒软妹~` 提交于 2019-12-24 02:46:46
  在做web应用时,请求过程中发生错误是常见的事,而一般界面显示大片白底黑字让人无从下手,对于用户的体验 也不是很好,这时我们可以利用@ControllerAdvice、@ExceptionHandler、@ResponseBody实现全局异常处理,能够帮助 开发者或者客户端迅速定位错误。   步骤: 1.首先我们创建一个JSON返回对象,用来封装{code:消息类型,url:请求地址,data:请求返回的数据,message:错误信息} package com.wutongshu.springboot.domain; public class ErrorInfo<E> { public static final int OK=0; public static final int ERROR=100; private int code; private String url; private E data; private String message; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getUrl() { return url; } public void setUrl(String url) {

springboot全局异常处理

左心房为你撑大大i 提交于 2019-12-24 02:46:02
基于springboot的全局异常处理 1 编写ResultBuilder类 package com.test.domi.common.utils;import org.apache.commons.lang.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.boot.autoconfigure.web.ErrorProperties;import org.springframework.boot.autoconfigure.web.ServerProperties;import org.springframework.core.Ordered;import org.springframework.http.HttpStatus;import org.springframework.validation.BindingResult;import org.springframework.validation.FieldError;import org.springframework.web.bind.MethodArgumentNotValidException;import org.springframework.web.servlet

【】Python】异常处理try...except、raise

萝らか妹 提交于 2019-12-24 00:22:11
一、try...except 有时候我们写程序的时候,会出现一些错误或异常,导致程序终止。例如,做除法时,除数为0,会引起一个ZeroDivisionError 例子: 1 2 3 4 a = 10 b = 0 c = a / b print "done" 运行结果: Traceback (most recent call last): File "C:/Users/lirong/PycharmProjects/untitled/openfile.py", line 3, in <module> c=a/b ZeroDivisionError: integer division or modulo by zero 我们发现程序因为ZeroDivisionError而中断了,语句print "done" 没有运行。为了处理异常,我们使用try...except,更改代码: 1 2 3 4 5 6 7 8 a = 10 b = 0 try : c = a / b print c except ZeroDivisionError,e: print e.message print "done"    运行结果: integer division or modulo by zero done 这样程序就不会因为异常而中断,从而print "done"语句正常执行。

python异常处理与导入模块与导入包

拥有回忆 提交于 2019-12-23 19:24:20
一.什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。 当Python脚本发生异常时我们需要捕获处理它,否则程序会 终止执行 。 注: 语法上的错误跟异常处理无关,必须在程序运行前就修正 二.异常处理 捕捉异常可以使用try/except语句。 try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。 如果你不想在异常发生时结束你的程序,只需在try里捕获它。 语法: if..else...处理 num1=input('>>: ') #输入一个字符串试试 if num1.isdigit(): int(num1) #我们的正统程序放到了这里,其余的都属于异常处理范畴 elif num1.isspace(): print('输入的是空格,就执行我这里的逻辑') elif len(num1) == 0: print('输入的是空,就执行我这里的逻辑') else: print('其他情情况,执行我这里的逻辑') 1.if判断式的异常处理只能针对某一段代码 ,对于不同的代码段的相同类型的错误你需要写重复的if来进行处理。 2.在你的程序中频繁的写与程序本身无关,与异常处理有关的if,可读性极其的差。 以下为简单的

python异常处理

早过忘川 提交于 2019-12-23 19:24:05
1.什么是异常 程序出现了错误(在编译或者执行过程中) >>> a Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> a NameError: name 'a' is not defined NameError 表示我们访问了一个没有初始化的变量. 在 Python 解释器的符号表没有找到那个 变量. 任何可访问的变量必须在名称空间里列出. 访问变量需要由解释器进行搜索, 如果请求的名字没有在任何名称空间里找到, 那么将会生成一个 NameError 异常. >>> 1/0 Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> 1/0 ZeroDivisionError: division by zero 任何数值被零除都会导致一个 ZeroDivisionError 异常. 2.常见异常种类 异常名称 描述 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIteration 迭代器没有更多的值 GeneratorExit 生成器

内部类以及接口

两盒软妹~` 提交于 2019-12-23 15:09:16
静态内部类 静态 内部类 如果一个内部类被 static 修饰, 我们 成为这个内部类为静态内部类。 public class Outer { static class Inner{ } } 静态 内部类创建对象 public class Test01 { public static void main(String[] args) { Inner inner = new Outer.Inner(); inner.showInfo(); } } 方法 内部类 如果 一个 内部类 定义到一个方法 中 ,成为方法内部类 。 方法 的局部变量进入方法内部类时,被加 final 修饰。 出 了方法内部类后, final 被去掉。 匿名 内部类 如果这个类只使用一次,我们可以把类声明为匿名类。 匿名 类一般和内部类结合使用,形成匿名内部类。 匿名 内部类一定要存在 : 实现接口 new MyInterface(){ public void showInfo() { System. out .println("Inner:showInfo"); } }.showInfo(); 2 异常 处理 传统 处理异常的缺点 1通过判断影响效率, 2判断逻辑和业务逻辑交织在一起,可维护性很差。 异常的定义:是指在程序运行时发生不正常的情况,他会中断程序运行。 异常处理机制中一些关键字(try...

异常处理

£可爱£侵袭症+ 提交于 2019-12-23 10:50:47
一,异常和错误 part1:程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 print(haha 语法错误 语法错误 2.逻辑错误(逻辑错误) #用户输入不完整(比如输入为空)或者输入非法(输入不是数字) num=input(">>: ") int(num) #无法完成计算 res1=1/0 res2=1+'str' 逻辑错误 part2:什么是异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 part3:python中的异常种类 在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误 # 触发IndexError l=['egon','aa'] l[3] # 触发KeyError dic={'name':'egon'} dic['age'] #触发ValueError s='hello' int(s) 错误举例 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包