簡體   English   中英

數組太大的Java異常

[英]Java exception for a too big array

我從C(即從JNI / JNA)收到一個long值。 我想創建一個具有該大小的byte[]數組。

如果該值超過數組的最大大小,應該拋出哪個異常?

換句話說,我應該在下面拋出哪個異常?

long output_len;
...
if(output_len > Integer.MAX_VALUE)
    throw new ...();

如果試圖為數組的大小分配太大的整數,Java本身會拋出OutOfMemeryError ,但是-正如@StephenC所建議的-您不應該使您的代碼拋出這種錯誤。 當您決定在output_len > Integer.MAX_VALUE情況下拋出異常時,您應該考慮創建自己的Exception類並在其主體中提供特定的消息。 IllegalArgumentException似乎也是一個好主意,但是值得考慮提供一個特定的消息來描述為什么拋出此Exception

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM