zoukankan      html  css  js  c++  java
  • 异常(1)

    #include "stdafx.h"
    #include <iostream.h>
    #include <string.h>

    class DivideZero
    {
    public:
        //
    带参构造
        DivideZero( const char* pStr )
        {
            strcpy(szMessage, pStr);
        }
        //
    拷贝构造
        DivideZero(const DivideZero &Obj)
        {
            strcpy(szMessage,Obj.szMessage);
        }
        char szMessage[32];
    };

    void fun()
    {   
        //
    编译错误  编译期语法错误
        //
    逻辑错误  编译期语法正确,运行时出错

        int i = 10;
        int j = 0;
        double z = 0;
       
        try
        {
           //
    抛出异常,下面就不执行了,直接跳到对应的catch语句块中去
            throw DivideZero("
    0异常");
           
            if ( j == 0 )
            {
                throw DivideZero("
    0异常");
            }
            cout << i / j << endl;
        }
    // int
    int& 只能写一个
    //     catch (int)
    //     {
    //         cout << "int
    异常发生!" << endl;
    //     }
        catch (char*)
        {
            cout << "char*
    异常发生!" << endl;
        }
        //
    形参名可写可不写
        catch (int&)
        {
            cout << "int&
    异常发生!" << endl;
        }
        //
    这里刚好有一个上边抛出异常对应的类型接收,所以直接跳到这里来
        catch (DivideZero &theDiv)
        {
            cout << theDiv.szMessage << endl;
        }
       //...
    所有的异常类型都进入此语句块处理
        catch (...)
        {
            cout << "
    异常发生!" << endl;
        }
    }

    int main(int argc, char* argv[])
    {
        try
        {
            fun();
        }
        //
    上面的fun函数体内已经对相应的异常做出处理,所以这里就不会执行了
        catch ( DivideZero )
        {
            cout << "DivideZero
    异常发生" << endl;
        }
        catch (...)
        {
            cout << "
    异常发生" << endl;
        }
       
        return 0;
    }

  • 相关阅读:
    Servlet会话管理一(URL重写和表单隐藏域)
    Eclipse自动补全设置
    String类为什么设计成不可变的
    部署描述符(web.xml)和标注(annotation)
    html中 &nbsp; 和空格的区别
    HTML的基本知识点
    Eclipse中配置Tomcat服务器并创建标准Web目录
    Sevlet处理HTML表单
    Servlet API
    Servlet开发的三种方法
  • 原文地址:https://www.cnblogs.com/w413133157/p/1666760.html
Copyright © 2011-2022 走看看