最近在看异常处理的东西有些东西理解不了:在catch快的末尾,我们有三种选择:
1.重新抛出所捕获的异常,向更高一层的调用堆栈中的代码通知该异常的发生
2.抛出一个不同的异常,向更高一层的调用堆栈中的代码提供更多的异常信息
3.让线程从catch快的底部退出问题:
1.怎么样重新重新抛出所捕获的异常,“更高一层的调用堆栈中的代码”是指什么呢,这个始终没明白呀
2.怎么样抛出一个不同的异常,怎样向更高一层的调用堆栈中的代码提供更多的异常信息
3.怎样让线程从catch快的底部退出
1.重新抛出所捕获的异常,向更高一层的调用堆栈中的代码通知该异常的发生
2.抛出一个不同的异常,向更高一层的调用堆栈中的代码提供更多的异常信息
3.让线程从catch快的底部退出问题:
1.怎么样重新重新抛出所捕获的异常,“更高一层的调用堆栈中的代码”是指什么呢,这个始终没明白呀
2.怎么样抛出一个不同的异常,怎样向更高一层的调用堆栈中的代码提供更多的异常信息
3.怎样让线程从catch快的底部退出
解决方案 »
- c#多个窗体公用一个socket
- 请教使用WebRequest和WebResponse处理中文出现乱码的问题
- 关于将IEnumerable<XElement>结果写入数组的问题
- DataGridView,根据某些条件检查当前编辑的内容,条件不符时取消编辑
- 大家好,关于DataGrid的问题,大家来帮下忙吧
- 如何使新弹出的页面位于屏幕的中央?
- 发布一个O/R M数据处理组件(开源)
- DataGridBoolColumn问题
- 如何使用SQL Server Native Client OLE DB接口连接数据库
- 包含关系的两个对象如何赋值?
- 能否保存html的部分内容到数据库?如何实现?
- 请教!!!
try{
}catch(exception e)
{
Console.WriteLine(e.Message)
}
我什么都不知道,标记一下,将来学习.
{
...
} catch(exception e)
{
throw;//向上层原样抛出
throw new XXException(...);//抛出其他异常
} 让线程从catch快的底部退出其实就是忽略这个错误
try
{
}
catch
{
;//啥都不做
}
{
...
try
{
...
}
catch(Exception ee)
{
throw new Exception(ee.Message + "\n" + "新的信息");
}
}
catch
{
throw;
}
异常一层层向外抛,外层只知道异常,不知道哪里出异常,出异常,程序都是运行catch块里的内容,catch块里不处理,那么就运行catch块下面的代码。异常不处理的情况多了,比如网络错误,只需要记录日志就可以
throw往上层抛出,程序应该是和系统定义的异常去匹配,由系统定义的异常去管理这个异常。
用户也可以自己定义自己的异常类。
抛出新的异常,用户可以抛出异常到自己定义的异常,由它去处理。关注..
用 throws Excption修饰方法抛出异常
在调用的时候用throw来从新获取异常。用System.out,println(ex.getMessage())输出异常
try
{
……
}
catch(exception ex)
{
Messagebox.show(……);//抛出异常
}
finally
{
close();
}
楼主参考参考呀……
那么什么是错误呢,就是throw语句,所有的异常都是throw语句发出的,可以这样想,throw就是goto指令。
finaly就是不管try{...}里面有没有异常,最后都要执行finally里的语句,但是多层的try,它的finally的执行顺序我也有点搞不清,反正肯定会执行
一般异常的使用场合就是在文件操作、网络操作等需要占用资源的语句外加一层try,然后将释放的语句放入finally,保证没有挂起的资源