Java';解析异常
我一直在研究Java,当我试图编写自己的方法,将Java';解析异常,java,parsing,parseexception,Java,Parsing,Parseexception,我一直在研究Java,当我试图编写自己的方法,将字符串解析为int时,我有两个问题: 我应该什么时候扔?Java的Integer.parseInt(String String)在给出无效输入时抛出NumberFormatException(因为它是IllegalArgumentException的子类,所以有意义),并且根本不抛出ParseException 什么是“errorOffset”ParseException的构造函数强制您给它一个值-这是什么意思 为parseXYZ()方法(实际解析
字符串
解析为int
时,我有两个问题:
Integer.parseInt(String String)
在给出无效输入时抛出NumberFormatException
(因为它是IllegalArgumentException
的子类,所以有意义),并且根本不抛出ParseException
errorOffset
”ParseException
的构造函数强制您给它一个值-这是什么意思为
parseXYZ()
方法(实际解析某些内容)抛出ParseException
是完全有效的Integer.parseInt
抛出一个NumberFormatException
,因为它是RuntimeException
的子类型,因此不会强制您使用try-catch来包围它(对于ParseException
,情况并非如此)
offset
字段用于识别发生错误的位置。有了这些信息,您就可以使用已经解析的任何部分数据。对于第二个问题,getErrorOffset
方法告诉您它的用途。这是“发现错误的位置”。这是什么意思?在字符串中找到错误的位置?还是方法?ParseException是由字符串中的某个错误(如字母)引起的吗?我将其解释为字符串中的位置。告诉方法中的位置对大多数调用方来说都不是很有用的信息,因为实现的细节应该无关紧要。解析“987A65”
将显示索引3
处的错误偏移量。这是真的,谢谢。那么,这是否回答了第一个问题<当字符串中出现问题时,是否应引发code>ParseException
?那么抛出ParseException
或NumberFormatException
是否更可取?