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

热点内容
阿里云扫码登录服务器 浏览:970
化学基础pdf 浏览:896
51单片机晶码管 浏览:281
怎么查服务器假死原因日志在哪看 浏览:277
扫描pdf文件 浏览:926
解压密码百度云在线解压 浏览:767
传播学算法推荐 浏览:749
我的世界网络游戏如何查找服务器 浏览:257
安卓和苹果通讯录怎么互传 浏览:203
怎么打开隐私与应用加密的菜单 浏览:416
我的世界服务器小游戏的地址大全 浏览:578
在网络安全中加密安全机制提供了数据的 浏览:249
南京前端程序员私活怎么收费 浏览:981
拓扑pdf 浏览:440
如何在工行app查我的订单 浏览:214
车压缩机改电动 浏览:83
如何寻找音乐app 浏览:831
一加加密的照片 浏览:200
阿里云虚拟主机php 浏览:639
不卡点的解压视频 浏览:391