$include_dir="/home/hyper-archives/ublas/include"; include("$include_dir/msg-header.inc") ?>
From: Hongyu Miao (jackymiao_at_[hidden])
Date: 2008-02-11 18:42:34
Hi, All
    I'm wondering how to handle the memory allocation exception. For example, 
         int blocksize = 1000000;
         ublas::vector<double> myvector(0);
         myvector.resize(blocksize);
If the system does not have enough memory, an exception will be triggered by 
the last line of the codes. I tried the try/catch as follows
          try
          {
              myvector.resize(blocksize);
              if (blocksize != myvector.size())
                  throw "Memory allocation failure!";
          }
          catch(char* str)
          {
               std::cout << str << std::endl;
          } 
However, I can do this in a much simpler way like:
              myvector.resize(blocksize);
              if (blocksize != myvector.size())
                  std::cout << "Memory allocation failure!" << std::endl;
What's the difference between these two methods? And does UBLAS have a better
built-in solution for this? 
Thanks very much,
H.M.