資料結構 (1 1) 異常類構建

2021-07-30 03:12:06 字數 2117 閱讀 7493

異常類構建:

;以下為實現自己的異常庫mylib部分**

file:exception.h

namespace mylib ;

//計算異常

class arithmeticexception : public exception

arithmeticexception(const

char* message):exception(message){}

arithmeticexception(const

char* file,int line):exception(file,line){}

arithmeticexception(const

char* message,const

char* file, int line):exception(message,file,line){}

arithmeticexception(const arithmeticexception& e):exception(e){}

arithmeticexception& operator= (const arithmeticexception& e)

};}

file:exception.cpp

namespace mylib

; itoa(line,sl,10);

m_location = static_cast

(malloc(strlen(file)+strlen(sl)+2));

m_location = strcpy(m_location,file);

m_location = strcat(m_location,":");

m_location = strcat(m_location,sl);

}else

}exception::exception(const

char* message)

exception::exception(const

char *file, int line)

exception::exception(const

char *message, const

char *file, int line)

//拷貝建構函式

exception::exception(const exception &e)

exception& exception::operator =(const exception& e)

return *this;

}const

char* exception::message() const

const

char* exception::location() const

exception::~exception()

}

file:main.cpp

#include

#include "exception.h"

using

namespace

std;

using

namespace mylib;

int main()

catch(const arithmeticexception& e)

{cout

<

<< e.message()

<< e.location()

{cout

<

<< e.message()

<< e.location()

0;

執行結果:

hello world!

catch(const arithmeticexception& e)

test

..\mylib\main.cpp:18

學習內容來自d.t.software的資料結構課程,希望可以和大家一起學習

異常類構建

構建異常類的原因 因為當代的c 庫基本上都會使用c 中的異常特性,依賴於異常建立出來的庫穩定性非常好。思路 c 中異常的型別可以是自定義類型別。異常類的標頭檔案 ifndef exception h define exception h include object.h namespace dtli...

《資料結構》 實驗1 1

資料結構 實驗一 vc程式設計工具的靈活使用 一 實驗目的 複習鞏固vc程式設計環境的使用,以及c 模板設計。1.回顧並掌握vc單檔案結構程式設計過程。2.回顧並掌握vc多檔案工程設計過程 3.掌握vc程式除錯過程。4.回顧c 模板和模板的程式設計。二 實驗內容 1.設計乙個單檔案結構程式完成從鍵盤...

《資料結構》 實驗1 1

資料結構 實驗一 vc程式設計工具的靈活使用 一 實驗目的 複習鞏固vc程式設計環境的使用,以及c 模板設計。1.回顧並掌握vc單檔案結構程式設計過程。2.回顧並掌握vc多檔案工程設計過程 3.掌握vc程式除錯過程。4.回顧c 模板和模板的程式設計。二 實驗內容 1.設計乙個單檔案結構程式完成從鍵盤...