十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
没怎么用过throw。用过try和catch。
成都创新互联是一家专业提供曲靖企业网站建设,专注与网站建设、做网站、H5建站、小程序制作等业务。10年已为曲靖众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
1.throw,等你程序比如检测到一个非法的值,则可以写代码,专门throw,抛出这个异常(后期会有人捕获并处理的)
2.
catch,我是和try一起用的。
即:
try{
做你要做的事情,
尤其是可能会出错的某些事情
比如通过网络访问某个地址
则可能出现超时等情况,此时最好就是把相关代码放到此try中
}
catch()
{
然后在catch中捕获,处理对应的异常
比如是超时的异常,就弹出个对话框,告诉用户超时了,之类的
}
3.总之,把可能,容易出错的代码,放到try中,
然后在catch中写相关的错误的处理的代码。即可。
感兴趣的话,用google搜:
crifanlib.cs
里面有我写的各种函数,其中有用到try和catch。
mport java.util.Scanner;
public class MainTest {
public void InputAdd() {
int num1 = 0;
int num2 = 0;
try {
System.out.println("请分别输入两个数字,回车继续。");
num1 = new Scanner(System.in).nextInt();
num2 = new Scanner(System.in).nextInt();
System.out.println("求和结果:" + (num1 + num2));
} catch (Exception e) {
System.out.println("num1和num2中至少有一个不是数字,无法进行计算");
}
}
public static void main(String[] args) {
MainTest mt = new MainTest();
mt.InputAdd();
}
}
运行结果:
我知道你想表达什么意思,就是不用自己if else判断,自己写的自定义异常能够识别出来错误,但是这样是不太可行的(至少我暂时没在网上找到相应方案或自己想出来)
首先,if else是必须的,你不去判断是否异常了何来的抛出异常?
就比如系统编译时,一个String 变量还没被赋值,就被System.out.print()出来了,那这样肯定是不可行的,肯定会进行判断,这一套判断是系统自己定义的,所以编译的时候当然会执行(因为不进行判断出错肯定会导致程序挂了),那你自己定义出来的,只是你人为定义,你说他错他就错,其实不会导致程序挂了,你把这套强加到系统,让他编译的时候进行判断这样也可以,不过估计太复杂了,这个Exception内是不进行这些判断的,只是抛出一个信息,判断什么的都是在其他的地方进行,所以你这个还是不能离开判断,然后手动抛出,用try catch处理,代码如下(和其他人的回答差不多的),最后码字不易望采纳
class freezedException extends Exception {
public freezedException() {
super("冻结");
}
}
class nomoneyException extends Exception {
public nomoneyException() {
super("没钱");
}
}
class TextException {
public static void main(String[] args) {
boolean flag = true;
float money = 0, i = 0;
try {
if (!flag)
throw new freezedException();
if (i money)
throw new nomoneyException();
} catch (freezedException e1) {
}
catch (nomoneyException e2) {
}
}
}
Java语言提供两种异常处理机制:捕获异常和声明抛弃异常。
1、捕获异常:
(1)在Java程序运行过程中系统得到一个异常对象是,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。
(2)找到能够处理这种类型异常的方法后,运行时系统把当前异常交给这个方法处理;如果找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。
(3)捕获异常是通过try-catch-finally语句实现的。语法为:
try{
...
}catch(ExceptionName1e){
...
}catch(ExceptionName2e){
...
}
...
}finally{
...
}
2、声明抛弃异常:
(1)当Java程序运行时系统得到一个异常对象时,如果一个方法并不知道如何处理所出现的异常,则可在方法声明时,声明抛弃异常。
(2)声明抛弃异常是在一个方法声明中的throws子句中指明的。如:
publicintread()throwsIOException{
...
}
其中throwsIOException就是声明抛弃异常,throws后可以跟多个异常类型。
扩展资料:
程序设计语言的异常机制:
1、多数语言的异常机制的语法是类似的:用throw或raise抛出一个异常对象(Java或C++等)或一个特殊可扩展的枚举类型的值(如Ada语言);
2、异常处理代码的作用范围用标记子句(try或begin开始的语言作用域)标示其起始,以第一个异常处理子句(catch,except,resuce等)标示其结束;可连续出现若干个异常处理子句,每个处理特定类型的异常。
3、某些语言允许else子句,用于无异常出现的情况。更多见的是finally,ensure子句,无论是否出现异常它都将执行,用于释放异常处理所需的一些资源。
(1)C++异常处理是资源获取即初始化(Resource-Acquisition-Is-Initialization)的基础。
(2)C语言一般认为是不支持异常处理的。Perl语言可选择支持结构化异常处理(structuredexceptionhandling)。
(3)Python语言对异常处理机制是非常普遍深入的,所以想写出不含try,except的程序非常困难。
参考资料来源:
百度百科-异常处理