异常处理

C++异常处理

て烟熏妆下的殇ゞ 提交于 2020-03-07 23:20:02
异常处理能够使程序处理一些特殊现象,并继续正确的执行。 C++抛出异常、捕获异常、处理异常: # include <iostream> using namespace std ; int main ( ) { cout << "输入两个整数:\n" ; int number1 , number2 ; cin >> number1 >> number2 ; /* try----throw----catch模板 */ try //try块正常情况下执行的代码 { if ( number2 == 0 ) { /*throw语句类似一个函数调用,但调用的不是一个函数,而是catch块*/ throw number1 ; //抛出异常,调用catch块代码 } cout << number1 << " / " << number2 << " = " << ( number1 / number2 ) << endl ; } //catch块参数可以为任意类型,与抛出的异常值类型匹配 catch ( int ex ) //catch块参数获取抛出的异常值--捕获异常 { //处理异常 cout << "异常:整数" << ex << "不能被0整除" << endl ; } /* 如果你对异常对象的内容不感兴趣,那么可以忽略catch块参数 try { //... } catch(int) {

Linux内存点滴 用户进程内存空间

做~自己de王妃 提交于 2020-03-07 14:14:12
http://www.perfgeeks.com/?p=723 http://www.perfgeeks.com/?p=770 经常使用 top 命令了解进程信息,其中包括内存方面的信息。命令 top 帮助文档是这么解释各个字段的。 VIRT , Virtual Image (kb) RES, Resident size (kb) SHR, Shared Mem size (kb) %MEM, Memory usage(kb) SWAP, Swapped size (kb) CODE, Code size (kb) DATA, Data+Stack size (kb) nFLT, Page Fault count nDRT, Dirty Pages count 尽管有注释,但依然感觉有些晦涩,不知所指何意? 进程内存空间 正在运行的程序,叫进程。每个进程都有完全属于自己的,独立的,不被干扰的内存空间。此空间,被分成几个段 (Segment), 分别是 Text, Data, BSS, Heap, Stack 。用户进程内存空间,也是系统内核分配给该进程的 VM( 虚拟内存 ) ,但并不表示这个进程占用了这么多的 RAM( 物理内存 ) 。这个空间有多大?命令 top 输出的 VIRT 值告诉了我们各个进程内存空间的大小(进程内存空间随着程序的执行会增大或者缩小)。你还可以通过

Java 异常处理

蹲街弑〆低调 提交于 2020-03-07 06:56:37
文章目录 一:异常的概念 二:异常体系 三:throw关键字 四:Objects关键字 五:throws关键字 六:try……catch处理 七:finally代码块 八:继承关系中的异常处理 九:自定义异常类 十:多个异常的捕获与处理 一:异常的概念 异常:指的是在程序执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中, 异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象 。Java处理异常的方式是 中断处理 。 异常指的并不是语法错误。语法错了,编译不通过,不会产生字节码文件,根本不能运行。 二:异常体系 异常机制其实是帮助我们找到程序中的错误 异常的根类是 java.lang.Throwable ,其下有两个子类: java.lang.Error java.lang.Exception 我们平常说的异常指的是java.lang.Exception java.lang.Throwable:类是java语言中所有错误或异常的超类 Exception:编译期异常,进行编译(写代码)java程序出现的问题 RuntimeException:运行期异常。java程序运行过程中出现的问题 异常就相当于程序得了一个小毛病,把异常处理掉,程序可以继续执行 Error:错误 错误就相当于程序得了一个无法治愈的毛病,必须修改源代码

python(异常处理)

冷暖自知 提交于 2020-03-06 18:09:15
异常:异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止)。 错误分为语法错误和逻辑错误。 python中不同异常的类型: AttributeError 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包;基本上是路径问题或名称错误 IndentationError 语法错误(的子类) ;代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyError 试图访问字典里不存在的键 KeyboardInterrupt Ctrl+C被按下 NameError 使用一个还未被赋予对象的变量 SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了) TypeError 传入对象类型与要求的不符合 UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量, 导致你以为正在访问它 ValueError 传入一个调用者不期望的值,即使值的类型是正确的 可以预知的错误,进行条件限制: # -*- coding: utf-8 -*- while True: age=input(

Struts2的声明式异常处理

情到浓时终转凉″ 提交于 2020-03-06 13:45:17
在struts2应用程序中你还在使用try catch语句来捕获异常么?如果是这样的,那你OUT啦!struts2支持声明式异常处理,可以再Action中直接抛出异常而交给struts2来处理,当然需要我们在xml文件中配置,由于抛出同样的异常的处理方法通常都一样,所以如果能在xml中配置全局异常,将会使得开发便捷性大大提高。 以前的异常捕获可能是这样的: ? /** * 执行更新 * * @return */ public String update() { Article article = new Article(); article.setContent(content); article.setTitle(title); article.setId(id); try { articleService.update(article); return SUCCESS; } catch (SQLException e) { e.printStackTrace(); return ERROR; } catch (InvalidInputException e) { e.printStackTrace(); System.out.println( "输入非法" ); return ERROR; } } 这种方式是完全的手动处理异常,一来不够简洁明快,而且还不容易维护

kvm 异常处理收集

老子叫甜甜 提交于 2020-03-05 23:30:58
异常描述 异常1 kvm无法启动 日志 [system] Failed to activate service 'org.freedesktop.systemd1': timed out 处理方式 systemctl restart systemd-logind systemctl restart dbus systemctl restart systemd-machined 来源: 51CTO 作者: 战狐 链接: https://blog.51cto.com/foxhound/2463282

promise.all 异常处理

和自甴很熟 提交于 2020-03-05 23:30:48
promise.all 中任何一个promise 出现错误的时候都会执行reject, 导致其它正常返回的数据也无法使用了 有两个解决方法: 1.全部改为串行调用(失去了node 并发优势) 2.当promise捕获到error 的时候,代码吃掉这个异常,返回resolve,约定特殊格式表示这个调用成功了 var p1 =new Promise(function(resolve,reject){ setTimeout(function(){ resolve(1); },0) }); var p2 = new Promise(function(resolve,reject){ setTimeout(function(){ resolve(2); },200) }); var p3 = new Promise(function(resolve,reject){ setTimeout(function(){ try{ console.log(XX.BBB); } catch(exp){ resolve("error"); } },100) }); Promise.all([p1, p2, p3]).then(function (results) { console.log("success") console.log(results); }).catch(function(r){

异常

时间秒杀一切 提交于 2020-03-05 23:09:51
异常概述与异常体系结构 异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。 (开发过程中的语法错误和逻辑错误不是异常) Java程序在执行过程中所发生的异常事件可分为两类: Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源 耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性 的代码进行处理。 Exception: 其它因编程错误或偶然的外在因素导致的一般性问题,可以使 用针对性的代码进行处理。例如: 空指针访问 试图读取不存在的文件 网络连接中断 数组角标越界 对于这些错误,一般有两种解决方法:一是遇到错误就终止程序 的运行。另一种方法是由程序员在编写程序时,就考虑到错误的 检测、错误消息的提示,以及错误的处理。 捕获错误最理想的是在编译期间,但有的错误只有在运行时才会发生。 比如:除数为0,数组下标越界等。 分类:编译时异常和运行时异常 运行时异常 是指编译器不要求强制处置的异常。一般是指编程时的逻辑错误,是程序 员应该积极避免其出现的异常。java.lang.RuntimeException类及它的子 类都是运行时异常 对于这类异常,可以不作处理,因为这类异常很普遍,若全处理可能会对 程序的可读性和运行效率产生影响。 编译时异常 是指编译器要求必须处置的异常。即程序在运行时由于外界因素造成的一 般性异常

Python学习之异常处理

 ̄綄美尐妖づ 提交于 2020-03-05 21:51:44
一、异常处理的用处何在? 有的时候由于代码执行错误我们可以看见一些错误信息,那就是异常,异常并不是错误,而是因为特殊原因,例如 用户使用错误、网络,通常情况下,异常一旦出现,程序会立刻结束掉,这时我们可以通过这些信息了解到语句在哪里出现错误并可以及时处理,这就是异常处理。 哪有有人问了,系统不是都已经告诉我们错误信息了吗?为啥还有学习?学习怎么看? 看只是其中的一种,我们还可以学会自己捕抓,并及时做出处理,好像还是说不到点子上。举个例子吧!比如说电脑蓝屏(估计很多人都经历过),当蓝屏时,我们就不可以对的电脑执行除关机冲重启以外的操作了,那想想这时我们在写一些很重要的文件或者代码时,突然蓝屏了,那数据不是就丢失了吗?那有没有其他的方法改进呢?比如先保存后在蓝屏,答案是有的,就是我们可以预测可能发生异常的代码块,并进行捕抓,然后进行自己想要的处理。 异常处理的作用: (1).解决错误 except里面处理 (2).保证代码的健壮性和稳定性、容错性 二、异常处理语句 那么知道这是个啥东西了,那么我们就得学会使用它。在Python中,异常处理语句是以 try...except 语句为中心扩展开来的。 try 语句必须有配套语句。 1.try…excetp语句 在Python中我们使用 try 语句进行异常捕抓,并用 except 语句进行异常处理。当 try 语句内没有异常时将跳过

javascript异常处理

≡放荡痞女 提交于 2020-03-04 19:02:16
} 错误处理的重要性 以前, javascript 总是因为会出现奇怪的令人困惑的错误消息而知名,调试这种信息确实是一种痛苦的经历。 因此,第四版的浏览器 (IE4.0 和 Netscape4.0) 包含了一些基本的错误处理功能。不久之后, ECMA 和 ECMASCript 第三版中提出新的解决方案。 最新的 ECMAScript 添加了异常处理机制,采用了从 Java 中移植过来的模型 , 第三版用 ECMAScript 第二版中的一些保留字实现了 try…catch..finally 结构以及 throw 操作符 1.1 、早期浏览器的错误处理 早期的浏览器(如 IE3.0 )没有错误处理。函数通过返回一个无效值 ( 一般是 null 、 false 或 -1, 根据不同的函数不同 ) 来表示发生了错误,考虑以下代码: var index = findColor(colorarray,”red”); If (index==-1) alert(“ 该项不存在 ”); else alert(“ 该项的位置是: ”+index); 以上的问题在于函数 findcolor 的返回值 -1 无从判断是没有找到还是出错了。 错误和错误处理将帮助我们解决这个问题 在 javascript 引入错误处理后, web 开发人员就可以更好的对代码进行控制了。好的错误处理技术可以让脚本的开发