导航:首页 > 编程语言 > throw用法Java

throw用法Java

发布时间:2024-04-04 14:27:54

‘壹’ java中throw和throws的区别

都是关键字

throw用于代码当中抛出异常;throws用于方法名结尾定义方法抛出的异常类型。

例如

inta=1;
thrownewException();
system.out.println("a");

在throw这行控制台会报Exception异常,如果你new的是NullPointException就会报空指针异常,你抛什么他报什么。下面的输出不会执行,程序终止。

如果使用了异常处理,例如

inta=1;
try{
a=2;
thrownewException();
a=3;
}catch(Exceptione){
systemt.out.println(a);
a=4;
}
system.out.println(a);

这样在a赋2后手动抛异常,被catch捕获,然后输出a、a赋4,最终结果是输出2、4。

而throws用途:

publicvoidmethod()throwsException{...}

这个方法被调用后,如果这个方法里出了错,这个错误就会被抛给引用它的那个方法。在控制台就会看到一层一层抛上去的引用栈。

‘贰’ JAVA閲岄溃镄则hrow鏄锅氢粈涔堢敤镄勶纻锛熷疄闄呯紪绋嬩腑链変粈涔堟牱镄勫簲鐢锛燂纻锛

throw鍏抽敭瀛楅氩父鐢ㄥ湪鏂规硶浣扑腑锛屽苟涓旀姏鍑轰竴涓寮傚父瀵硅薄銆
绋嫔簭鍦ㄦ墽琛屽埌throw璇鍙ユ椂绔嫔嵆锅沧锛屽畠钖庨溃镄勮鍙ラ兘涓嶆墽琛屻
阃氲繃throw鎶涘嚭寮傚父钖庯纴濡傛灉𨱍冲湪涓娄竴绾т唬镰佷腑𨱒ユ崟銮峰苟澶勭悊寮傚父锛
鍒欓渶瑕佸湪鎶涘嚭寮傚父镄勬柟娉曚腑浣跨敤throws鍏抽敭瀛楀湪鏂规硶澹版槑涓鎸囨槑瑕佽窇鍑虹殑寮傚父锛
濡傛灉瑕佹崟鎹塼hrow鎶涘嚭镄勫纾甯革纴鍒椤繀椤讳娇鐢╰ry钬攃atch璇鍙ャ
瀹为檯缂栫▼涓镄勫簲鐢ㄤ篃闱炲父骞挎硾,姣斿备綘𨱍冲皾璇旷潃璺戝嚭镆愪釜寮傚父𨱒ラ獙璇佹煇琛屼唬镰佹垨钥呮槸瑕佽窇鍑鸿嚜瀹氢箟镄勫纾甯
,浣犲氨鍙浠ョ洿鎺throw new xxxException.杩樻湁鍦ㄤ竴涓搴炲ぇ镄勯”鐩涓璬ebug鏄鍗佸垎涓嶆柟渚跨殑,浣犲彲浠ュ湪鏂规硶锅氢釜𨰾︽埅
try{
throw new NullPointerException();
}catch(NullPointerException e){
e.printStackTrace();
}
杩欐牱鍙浠ユ墦鍗板嚭鍫嗘爤淇℃伅,澶уぇ鏂逛究浜嗕綘瀵规暣涓鏂规硶镄勭悊瑙.杩樻湁寰埚氱殑搴旂敤,浣犲彲浠ュ皾璇旷潃铡诲彂鐜板摕銆

‘叁’ java异常 throws与throw的用法

第一:throw最重要的用法,不是先捕获再抛出,而是第一次抛出的时候,如

publicintdivide(inta,intb)throwsDivideZeroException{
if(b==0)
thrownewDivideZeroException("can'tdivide0");
returna/b;
}

然后:先捕获再抛出,是这样用的。

publicintdoSomeThing(intx,inty){
try{
inta=divide(x+y,x-y);
intb=divide(x-y,x+y);
returna*b;
}catch(DivideZeroExceptione){
thrownewRuntimeException("dosomethingerror",e);
}
}

而且也可以不抛出,在本级就处理了。

publicintdoSomeThing(intx,inty){
try{
inta=divide(x+y,x-y);
intb=divide(x-y,x+y);
}catch(DivideZeroExceptione){
Loggerlogger=Logger.getLogger(getClass());
logger.info("dosomethingerror",e);
return-1;
}
}

你问到:使用了throws的方法中即使没有throw,也依然可以抛出异常啊

回答:那是因为抛出的异常不是你手动抛出的,而是来自于你调用的方法(其根源还是在这个方法中用throw抛出的,或者是这个方法调用的方法)。

阅读全文

与throw用法Java相关的资料

热点内容
白盘怎么解压 浏览:472
辰语程序员学习笔记 浏览:47
程序员被公司劝退 浏览:523
java三子棋 浏览:690
加密空间怎么强制进入 浏览:343
ug分割曲线命令 浏览:209
学码思程序员 浏览:609
自考云学习app为什么登不上 浏览:406
domcer服务器昼夜更替怎么搞 浏览:434
plc和单片机哪个好 浏览:535
帝国神话组建云服务器 浏览:827
邓散木pdf 浏览:199
方舟怎么直连服务器图片教程 浏览:563
假相pdf 浏览:336
找对象找程序员怎么找 浏览:976
怎么投诉苹果商店app 浏览:470
华为手机如何看有多少个app 浏览:734
btr如何管理别的服务器 浏览:410
spwm软件算法 浏览:184
70多岁单身程序员 浏览:221