} catch (Exception e) { //当b为0的时候这里可以打印提示:除数不能为0 } 异常的通俗原理在于,当出现某些错误的时候,用户又不想直接把程序直接关闭,那么就在用户捕捉到的异常里进行处理,这样程序可以继续运行,而不是马上关闭。
Exception是一个基类,所有异常类都继承自它,你自己封装一个也要继承,ex是实现它的实例对象,取啥名...
catch(Exception ex) 会实例化一个Exception 对象,其实就是在此处你catch到的这个Exception。你怎么处理它都可以, 写log或者Print出来, 但是你就是不要throw 它。 你throw它了,exception stack就被清空。没有throw 它, exception stack里就始终保存所有exceptions。 在更多: 如果Method1这么写: publicstaticint Method...
带参数的catch语句将只捕捉参数指定类型的异常,对于其他异常不予处理。不带参数的catch语句相当于参数为System.Exception类型的异常(即所有的异常),只不过不能获取异常变量。
给你举个简单的例子吧. 看下面的程序段: try { return a/b; } catch (Exception e) { ...
ex就表示捕获的异常类对象。
这些异常都继承自Exception,所以也可以自定义异常。定义一个类继承自Exception就行了。如下: 自定义异常 try{thrownewMyException(); }catch(Exception ex) { Console.WriteLine(ex.Message );//输出引发类型为“Try_Catch_Finally.MyEexception”的异常}
static void Main() { try { var thread = new Thread(new ThreadStart(BadThread)); thread.Start(); } catch (Exception ex) { Console.WriteLine("you can not catch exception here!"); } Console.ReadKey(); } private static void BadThread() { Console.WriteLine("A faulty thread started..."...
catch(Exceptionex) { //处理异常的代码... } } 在上述代码中,我们捕获了所有类型的异常,这可能会导致不必要的性能开销。更优化的做法是只捕获可能发生的具体异常类型,例如FileNotFoundException或IOException: publicvoidParseFileOptimized(stringfilePath) ...
说明catch没有捕捉到异常