导航:首页 > 编程语言 > 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相关的资料

热点内容
预定命令的英语 浏览:997
股票机构监测源码 浏览:901
哪个app适合孩子学汉字 浏览:48
副程序员好做吗 浏览:244
pdf1膜 浏览:159
理光为什么设置不了扫描文件夹 浏览:872
老夫子pdf 浏览:306
基于matlab的图像压缩编码 浏览:79
麦克纳姆轮编程 浏览:158
昂科威15压缩比 浏览:106
安卓车机wifi安全性如何选择 浏览:398
华三服务器如何外接硬盘 浏览:591
csgo创意工坊如何寻找专用服务器 浏览:314
程序员抓虫子动图 浏览:600
广数挑四头螺纹怎么编程 浏览:650
embraco压缩机是哪国的 浏览:913
为什么服务器流量那么贵 浏览:259
读取pdf文件内容 浏览:490
如何给脚本链接加密 浏览:90
多服务器云部署方案 浏览:443