异常处理

D22_4.1_异常处理

烂漫一生 提交于 2019-12-04 04:57:56
# ### 主动抛出异常 raise 所有异常类的父类(基类,超类) BaseException ; 所有普通异常类的父类(基类,超类) Exception try:   raise BaseException except BaseException:   pass """raise 后面如果什么也不写 , 默认抛出的是BaseException""" # (1) 基本用法 try:   raise BaseException except BaseException:   pass # (2) 自定义异常类 # 只能在异常的情况下,才能获取到相应的数据 def return_errorinfo(n):   import sys   f = sys.exc_info()[2].tb_frame.f_back if n==1:   return str(f.f_lineno) #返回当前行数 elif n == 2:   return f.f_code.co_filename #返回文件名 # get_info 通过抛出异常触发return_errorinfo函数,从而获取异常的行号和文件 def get_info(n): try: raise except: return return_errorinfo(n) 来源: https://www.cnblogs.com

yii2 composer的异常处理

不打扰是莪最后的温柔 提交于 2019-12-04 04:28:07
第九章 部分异常的处理 1、composer的异常 Fatal error: Call to undefined method Fxp\Composer\AssetPlugin\Package\Version\VersionParser::parseLinks() 参考这里: https://github.com/francoispluchino/composer-asset-plugin/pull/133 具体解决方案如下(部分操作可能需要root权限): $ composer global update 失败,不得已,回退到可用旧版本。 $ composer self-update --rollback 2015-07-07_14-15-59-dbdd497 更新插件 fxp/composer-asset-plugin ,据说这个 1.0.3 版本解决了这个问题。 $ composer global require "fxp/composer-asset-plugin:1.0.3" 然后 composer 更新, $ composer self-update $ composer global update 可以正常使用了。 2、curl错误信息 当输入命令 $ sudo curl -sS https://getcomposer.org/installer | php

python基础(21):异常处理

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

spring 配置全局异常处理类

ぐ巨炮叔叔 提交于 2019-12-04 00:00:55
需要引入web的依赖: <!-- spring boot web 组件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- spring boot web 组件 --> 编写全局异常捕获类: import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import simple.proj.zxz.play.pojo.vo.comm.CommOutVO; /** * 全局异常处理 * * @author Zxz * @version 1.0 * @date Created at 2019/04/23 **/ @RestControllerAdvice @Slf4j public class GlobalExceptionHandler { @ExceptionHandler(Exception.class)

part7-1 Python 的异常处理(try...except 捕获异常、异常类继承、访问异常信息、else、finally回收资源、raise引发异常、自定义异常类、except 和 raise 同时使用)

房东的猫 提交于 2019-12-03 22:45:33
异常机制是编程语言成熟的标准(注:C语言没有提供异常机制),异常机制可使程序中的异常处理代码和正常业务代码分离,提高程序健壮性。Python 异常的5个关键字:try、except、else、finally 和 raise ,在 try 关键字后缩进的代码块称为 try 块,这里放置的可能会引发异常的代码;在 except 后对应的是异常类型和一个代码块,用于处理 try 块中产生的异常,except 块可以有多个;except 块后可以接一个 else 块,在程序不出现异常时要执行 else 块;最后可以接一个 finally 块,finally 块用于回收在 try 块里打开的物理资源,异常机制会保证 finally 块总被执行;raise 可用于引发一个实际的异常,可以做为单独的语句使用,引发一个具体的异常对象。一、 异常概述对于程序设计人员,要尽可能预知所有可能发生的情况,尽可能保证程序在所有糟糕的情形下都可以运行。以前面的五子棋程序为例,当用户输入下棋坐标时,程序要判断用户输入是否合法。如果要保证程序有较好的容错性,将会有如下伪代码: if 用户输入包含逗号之外的其他非数字字符: alert 坐标只能是数值 goto retry elif 用户输入不包含逗号: alert 应使用逗号分隔两个坐标值 goto retry elif 用户输入的坐标值超出了有效范围:

Java项目中常见的异常处理

拜拜、爱过 提交于 2019-12-03 17:21:38
发生异常的情况有很多,其中包括以下几大类 : 1. 空指针异常; 2. 用户输入异常; 3. 多层异常捕获; 想要知道Java是如何处理异常的,就需要掌握以下这三种异常的处理: 1.检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时, 一个 异常就发生了,这些异常在编译时不能被简单地忽略。 2.运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。 3.错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们 在编 译 也检查不到的。 如何捕获异常: try和catch关键字 将可能引发异常的代码段放在 Try 块中,而将处理异常的代码放在 Catch 块中。Catch 语句的顺序很重要。发生异常时,异常沿堆 栈向上传递,每个 Catch 块都有机会处理它。通过将异常类型与 Catch 块中指定的异常名称相匹配,可确定处理异常的 Catch 块。 例如,以下 Catch 块将捕获简单对象访问协议 (SOAP) 异常: catch (SoapException e){Console.WriteLine("SOAP Exception Error Code: {0}", e.SubCode.Code.Name); Console

异常的总结

限于喜欢 提交于 2019-12-03 14:51:12
异常(Exception): 发生于程序执行期间, 表明出现了一个非法的运行情况。许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象。例如:数组越界和被零除。 int i=1,j=0,k; k=i/j; 异常的作用: 异常处理的目的是依据实际情况提供不同的错误应对策略与手段,使程序更稳定,更安全。异常处理的主要用途是提供准确的错误信息,解释失败的原因、位置和错误类型等,同时提供一定的恢复能力,尽可能地保证数据完整性不被破坏,并让程序继续运行。 Java中的常见异常: 1、空指针异常类:NullPointerException 调用了未经初始化的对象或者是不存在的对象。经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针, 即把数组的初始化和数组元素的初始化混淆起来了。 数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化, 依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)。 2、数据类型转换异常:java.lang.ClassCastException 当试图将对某个对象强制执行向下转型,但该对象又不可转换又不可转换为其子类的实例时将引发该异常,如下列代码。 Object obj = new Integer(0); String str = obj; 3、没有访问权限:java

Python异常处理,将异常写入到一个文件

我只是一个虾纸丫 提交于 2019-12-03 12:02:46
'''定义一个函数func(urllist) urllist:为URL的列表,例如:['http://xx.com','http://www.xx.com','http://www.xxx.com'...] 函数功能:要求依次打开url,打印url对应的内容,如果有的url打不开,则把url记录到日志文件里,并且跳过继续访问下个url。''' def func(urllist): for url in urllist: # 遍历每一个网址 try: open_url = request.urlopen(url) # 打开网址 except IOError as e: now_time = datetime.datetime.now().strftime('%Y-%m-%d') # 获取当前时间 log = now_time+'log.txt' # 定义日志文件名 with open(log, 'a', encoding="utf-8") as f: # with open()方法打开日志文件,如果没有就新生成一个文件,a追加内容 f.write(url+',网站打开失败,抛出异常:'+str(e)+'\n') # 将错误写入日志文件 else: comment = open_url.read() # 读取网页内容 return comment # 返回网页内容 print(func