User Tools

Site Tools


programming:cpp:exception

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
programming:cpp:exception [2022/05/05 07:26]
odagawa created
programming:cpp:exception [2022/05/05 11:09] (current)
odagawa
Line 1: Line 1:
 =====例外処理===== =====例外処理=====
 +
 +try-catch 文を用いることでプログラムのどこでエラーが起こっているかをスムーズに把握することができる.\\
 +''try'' で例外処理が発生しうる場合を囲み, ''catch'' で例外クラスを把握して確認する,という流れ.\\
 +例外クラスは ''throw'' を用いて投げる.
  
 STL で用意されている例外クラスは以下の通り STL で用意されている例外クラスは以下の通り
Line 10: Line 14:
 | std::out_of_range | 添字範囲外 | | std::out_of_range | 添字範囲外 |
 | std::invalid_argument | 引数無効 | | std::invalid_argument | 引数無効 |
 +
 +<code cpp>
 +int main (int argc, char *argv[]) {
 +
 +  try {
 +
 +  if (/*例外条件*/)
 +    throw std::runtime_error("Runtime error : " << "内容");
 +
 +  } catch ( const std::runtime_error &error ) {
 +    std::cerr << error.what() << std::endl;
 +    std::exit(1);
 +  } catch ( const std::invalid_argument &error ) {
 +    std::cerr << error.what() << std::endl;
 +    std::exit(1);
 +  }
 +
 +  std::exit(0);
 +
 +}
 +</code>
programming/cpp/exception.1651735595.txt.gz · Last modified: 2022/05/05 07:26 by odagawa