Part12 异常处理 12.1异常处理的思想与程序实现

异常处理的基本思想

异常处理的语法

//例12-1处理除零异常
#include<iostream>
using namespace std;
int divide(int x, int y){
    if(y == 0)
        throw x;
    return x / y;
}
int main(){
    try{
        cout << "5/2 = " << divide(5,2) << endl;
        cout << "8/0 = " << divide(8,0) << endl;
        cout << "7/1 = " << divide(7,1) << endl;
    }catch(int e){
        cout << e << " is divide by zero!" << endl;
    }
    cout << "That is ok." << endl;
    return 0;
}

异常接口声明
  一个函数显式声明可能抛出的异常,有利于函数的调用者为异常处理做好准备
  可以在函数的声明中列出这个函数可能抛掷的所有异常类型。
    例如:void fun() throw(A,B,C,D);
  若无异常接口声明,则此函数可以抛掷任何类型的异常。
  不抛掷任何类型异常的函数声明如下:
    void fun() throw();

原文地址:https://www.cnblogs.com/leosirius/p/8261465.html

时间: 2024-11-14 11:05:17

Part12 异常处理 12.1异常处理的思想与程序实现的相关文章

《Cortex?-A系列编程者指南(V3.0)》第12章&lt;异常处理&gt;笔记

在本章,我们看看ARM处理器如何响应异常.异常是任何需要挂起正常执行转而运行与每个异常类型相关联软件(称为异常处理程序)的条件. 12.1 异常的类型 如我们在第四章看到,A系列和R系列架构支持七种处理器模式,六种特权模式(称为快速中断模式.外部中断模式.管理模式.中止模式.未定义模式和系统模式),一种非特权模式(用户模式).如果虚拟化扩展和安全扩展被实现,Hyp和Monitor模式可以被添加到列表.当前模式在软件控制下或处理一个异常时修改. 然而,非特权的用户模式只能通过产生一个异常来切换到另

JAVA中的异常(异常处理流程、异常处理的缺陷)

异常处理流程 1)首先由try{...}catch(Exception e){ System.out.println(e); e.printStackTrace(); }finally{...}结构 2)当JVM遇到异常时,会产生一个Exception对象 或 继承自Exception的子类的对象. 3)将异常对象向上层(调用它的代码块)抛出,知道碰到一个catch块(作相应处理) 或 一直抛到了最外层(导致程序异常终止).(并停止异常之后的代码的执行,但是finally块中的代码还会执行!换句

在Oracle电子商务套件版本12.2中创建自定义应用程序(文档ID 1577707.1)

在本文档中 本笔记介绍了在Oracle电子商务套件版本12.2中创建自定义应用程序所需的基本步骤.如果您要创建新表单,报告等,则需要自定义应用程序.它们允许您将自定义编写的文件与Oracle电子商务套件提供的标准种子功能分离.在向您的环境应用修补程序或执行升级时可以保留自定义设置. 自定义数据和索引表空间默认为APPS_TS_TX_DATA和APPS_TS_TX_IDX. 注意:当没有活动的修补程序周期时,应在运行文件系统上执行本文档中描述的过程. 也可以按照此过程更正先前创建的不使用AD Sp

已知如下数组: var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]; 编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组

已知如下数组: var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]; 编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组 var dt= arr.toString().split(",").sort(function(a,b){return a-b}).map(Number);Array.from(new Set(dt)) 代码如下 var d

Part12 异常处理 12.3标准库程序异常处理

标准异常类的继承关系 C++标准库各种异常类所代表的异常 标准异常类的基础 exception:标准程序库异常类的公共基类 logic_error表示可以在程序中被预先检测到的异常 如果小心地编写程序,这类异常能够避免 runtime_error表示难以被预先检测的异常 //例12-3 三角形面积计算 //编写一个计算三角形面积的函数,函数的参数为三角形三边边长a.b.c,可以用Heron公式计算: #include<iostream> #include<cmath> #inclu

python 点滴记录12:异常处理

引入异常处理机制,使得运行的程序发生错误时,不至于崩溃. 常见格式: try:     command 1 except:     command 2 当command 1 执行出错时,就会执行command 2.command 2 通常是自己定义的错误提示或者系统默认的提示. eg: #!/usr/bin/python while 1:         c = raw_input("input 'c' continue,otherwise logout:")         if c

Python自动化运维之12、异常处理及反射

一.异常处理 python异常: python的运行时错误称作异常 (1)语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 (2)逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成.计算或者输出结果需要的过程无法执行等 python异常是一个对象,表示错误或意外情况 (1)在python检测到一个错误时,将触发一个异常 python可以通常异常传导机制传递一个异常对象,发出一个异常情况出现的信号 程序员也可以在代码中手动触发异常 (2)python异常也可以理解为:

java程序中有异常处理和没有异常处理的区别

12、面向对象的思想(OOP)

面向对象与面向过程 1.都是解决问题的思维方式,都是代码的组织的方式: 2.解决简单的问题可以使用面向过程: 3.解决复杂的问题建议使用面向对象,微观处理依旧会使用面向过程. 对象的进化史(数据管理的处理过程) 事物的发展总是遵循"量变引起质变"的哲学原则,在最初不需要对象. 1.数据无管理时代:变量,常量等数据量小: 2.数据管理时代(数组):同种类型数据: 3.对象管理时代:不同数据类型,同样可以具有方法: 原文地址:https://www.cnblogs.com/zglbt/p/