可以先参考一下这个文章:【C++】异常处理_c++ 抛出异常_曦樂~的博客
try
{
xx;
throw exception("hello");
}
catch
{
xx
}
try语句里由用户自己抛出一个异常,然后catch语句自己捕获进行进一步操作,就是自导自演行为,所以这个我觉得没太大意义,因为可以通过返回值也能直接知道异常情况。而像空指针异常,除0这些硬件异常,这个方法是无法自动捕捉的,软件会直接崩溃。
那么有没有真正的能自己捕获空指针,除0等异常呢,能,有两种:
1. VC集成开发环境中,菜单中设置一下,可以,但是是依赖编译器等,SEH机制,MSVC,c++ 程序中实现抛出异常_c++ 抛出异常_AndyCheng_hgcc的博客-
2. Linux中,通过系统提供的api也可以,当C++遇到空指针异常......_c++捕获空指针异常_柴郡猫乐园的博客-
所以,一般编程,还是老老实实保证逻辑的正确性吧,这样就不出现访问空指针了 。