[英]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.