try一定要有catch吗(c++中try后一定要跟catch吗)

本文目录
- c++中try后一定要跟catch吗
- try不带有catch或finalle是什么意思
- 除了finally子句之外,try语句可能没有任何catch子句是对还是错
- JAVA异常处理中一个try后必须得有一个catch块吗还有一个异常将终止抛出异常的方法还是产生异
- java问题:为什么写出try不提示catch呢
- c# try一定要catch吗
c++中try后一定要跟catch吗
Unix(包括Linux)下的C语言编程中是不会使用try catch的,的确C也没有这个语法。然而当运行时的错误异常被抛出时,系统会产生信号发送给进程,如果进程没有做信号响应函数的话,就会被中断运行并且产生core文件,通过core文件可以查看程序的崩溃原因、当时的调用堆栈、当时的变量值等等信息,当然这是另外一个话题。
因此在Unix下,与try catch起到相似作用的东西就是信号相应函数。相关的使用方法大体包括如下内容:
1、信号安装
signal();
sigaction();
2、发送信号函数
int raise(int sig);
int pause(void);
int kill(pid_t pid,int sig);
unsigned int alarm(unsigned int seconds);
int sigqueue(pid_t pid,int sig,const union sigval val);
int setitimer(int which,const struct itimerval *value,struct itimerval *oldvalue);
void abort(void)
3、信号集及信号集操作
sigfillset(sigset_t *set);
sigemptyset(sigset_t *set);
sigaddset(sigset_t *set,int sig);
sigdelset(sigset_t *set,int sig);
4、阻塞信号相关函数
int sigprocmask(int how,const sigset_t *set,sigset_t *set);
int sigpending(sigset_t *set);
int sigsuspend(const sigset_t *set);
具体使用方法可参考相应文档
try不带有catch或finalle是什么意思
try有2种写法,一种是带catch一种是带finally,但是必须带一种
try{
System.out.println("11111");
}catch (Exception e) {
System.out.println("431431");
}
或者
try{
System.out.println("11111");
}finally{
System.out.println("431431");
}
这两种都是正确的,但是有一定的差别,就是带catch的是当try块中出现异常,才执行catch块,也就是说try和catch块中只有一个能执行
try带finally的是不管try中是否出现异常,finally中的都执行.
当然还有第三种情况
try{
System.out.println("11111");
}catch (Exception e) {
System.out.println("431431");
}finally{
System.out.println("222222");
}
这种情况就要综合1,2情况了,try和catch中只有一个块执行了,但是finally块中的必须执行
除了finally子句之外,try语句可能没有任何catch子句是对还是错
try 本身没有finally子句,
有 Windows API 定义的 __try __finally ,但此方法不包含在C++标准库中。
并且使用 __try 时,是不能使用 catch 的,但是可以仅出现 __try 和 __finally,没有 __catch。
try 子句后必须有 catch 子句。
请区分清楚 try 和 __try。它们是完全不一样的。
JAVA异常处理中一个try后必须得有一个catch块吗还有一个异常将终止抛出异常的方法还是产生异
try 后面也可以直接接finally不需要catch 。至于你说的第二句没太明白你的意思,反正一个异常抛出后,产生异常的try块是肯定会终止执行,而跳转到你对异常的处理语句中。
java问题:为什么写出try不提示catch呢
首先,你已经在方法上 throws IOException,所以 try 中没有需要强制处理的 checked exception,因此不会要求你 catch。
其次,一般来说有 try,至少需要有 catch 或 finally 中的一个。但是 jdk7 出了一个 try-with-resources 语法:在 try() 中定义资源,这个资源在 try 结束后会被自动关闭。相当于有隐式的 finally 调用资源的 close() 方法。
你图中的代码就使用了 try-with-resources 语法,所以那样没有任何问题。
如图所示:
c# try一定要catch吗
看需求,如果你的程序存在这样的隐患,当然要写,如读写问价,肯定会打开文件流,如果出现异常了,在处理代码部分(catch)处就可以做一些补救措施,如跳转到提示页面、写入错误日志,这些都是很必要的,finally这里呢,就是无论如何都会执行的地方,看需求吧,有必要没必要不是这些人说的这样,完全看程序需求,不要妄下结论!!你想如果是一个涉及金额或积分的程序在没有写数据库事务的情况,在扣除账户金额积分时出现错误,你完全可以在异常后进行补救措施,这能说不需要吗
try{
可能出现异常的代码
}catch(Exception ex){
处理代码
}finally{
处理后无论如何都会执行的代码
}

更多文章:
vbnet连接sql数据库实例(请各位大侠给出用VB.NET连接oracle数据库并执行sql查询语句的代码示例,谢谢!!)
2026年7月21日 09:15
python编程实例详解(python函数变量及代码利用是什么python函数变量及代码利用说明)
2025年8月3日 06:00
已知大写字母a的ascii码值十进制(已知大写字母a的ASCII码值十进制表示为65那么asii码值为十进制数68的字母是)
2026年8月11日 21:30
struts2拦截器和过滤器的区别(struts2拦截器的作用是什么(它拦截什么)过滤器的作用是什么呢(过滤什么))
2025年6月18日 21:15
sql语句优化面试(面试问到 数据库性能优化 怎么回答 我是Oracle数据库)
2025年7月30日 02:15
commerce和commercial的区别(commercial名词)
2026年7月6日 01:00
shell脚本写加减乘除运算(用shell做个加减乘除运算)
2025年6月20日 21:30
keystone蝶阀中国代理(美国泰科TYCO阀门授权代理商)
2025年9月8日 02:45
日期型的函数datediff(datediff函数怎么用啊)
2025年12月17日 06:15
加拿大study permit(加拿大的STUDY PERMIT 里,签证官指定学校这句话什么意思 )
2026年8月7日 06:45
小米13发布会为何延期(小米和华为的冬季新品发布会为什么延期)
2026年6月3日 04:30
rank函数如何自动填充(excel根据最终得分列数据公式填充排名列数据)
2026年3月12日 12:15
rsync协议(为什么rsync服务对应的端口显示所属进程是xinetd而非rsync)
2025年11月11日 08:30
reset current branch to here(resetcurrentbranchtohere会覆盖本地代)
2025年11月13日 21:30
c语言中printf与scanf的先后顺序(c语言中printf 跟scanf执行顺序颠倒)
2026年2月26日 06:00
ASP.NET MVC 4框架揭秘:Controller类型的缓存?RxCache缓存框架
2026年6月1日 06:00
![vb 全局数组 如何在子过程里定义全局性的数组,在主函数里可以使用?在java中定义了一个二维数组,int[][] a = null;a[1] = new int[]{1,2,3};这样定义对不对](/static/images/nopic/15.jpg)










