�@�C�����Ă݂��6�������{�B1�N�̔������܂��Ȃ��߂��悤�Ƃ��Ă��܂��B
�@�N���Ƃ�قǎ��̌o�̂�������������ƌ����܂����A������v�����тɁu���A��̂��Ƃ��v�Ƃ������t���v���o���܂��B�Ɠ����ɁA�u���N�V���Ղ��w�����v�Ƃ������t���v���o���Ă��܂��܂��B�����̗���͑���������x��������A�������~�߂邽�肷�邱�Ƃ��ł��܂���B�ł�����A�u��̂悤�Ɂv�߂��Ă��������̗��ꂾ���ɐg��C���Ă��܂��ẮA�����ł����u�����v�f�o�b�O�̃X�L���͌���ł��܂���B�������ł������Ƀf�o�b�O�̃X�L�����A������Tips�ł��̓����Ă���������A�Ǝv���Ă���܂��B
���ށF�����^�C���G���[
�@NumberFormatException�́A�����ʂ萔�l�̃t�H�[�}�b�g�Ɋւ����O�ł��B�ł́A�ǂ̂悤�ȏꍇ�ɂ��̗�O����������̂ł��傤���B
�@���̗�����Ă��������B
package kx; |
�@���̃v���O�����ł́AString�^�̕ϐ����AInteger�N���X��parseInt���\�b�h�ɂ����int�^�̐��l�ɕϊ����A���̌��ʂ�\�����悤�Ƃ��Ă��܂��B�ł����A���̃v���O���������s����ƁA���̂悤�ȕ\���ƂȂ�܂��B
�@���̗�ł́A�ϐ�strNum1�̓��e��������\���Ă��Ȃ����߂ɁAInteger.parseInt()�̎��s��NumberFormatException���������Ă��܂��B
�@���̗�͕ϊ����悤�Ƃ��Ă��镶�����l��\���Ă��Ȃ����߂ɁA��r�I������������₷���̂ł����A���������ł͂Ȃ�������\���Ă���ꍇ�iInteger.parseInt()�ł́Aint�^�ւ̕ϊ��Ȃ̂ŏ�����\��������͓n���Ȃ��j��A������int�^�̒l�͈̔͂��鐮����\���Ă���ꍇ�iint�^�ň����鐮���́A-2147483648�ȏ�A2147483647�ȉ��ƌ��߂��Ă���j���ANumberFormatException���������܂��̂ŁA���ӂ��Ă��������B
package kx; |
������ϊ����悤�Ƃ���� |
package kx; |
int�^�̒l�͈̔͂��鐔�l��ϊ����悤�Ƃ���� |
�uNumberFormatException�v��Integer.parseInt()��Double.parseDouble()�Ȃǂɓn���Ă��镶���Aint�^��double�^�̒l�Ƃ��ēK�ɕ\���ł��邩�`�F�b�N
���ށF�����^�C���G���[
�@�@SQLException�́AJDBC API�𗘗p���ăf�[�^�x�[�X�ɃA�N�Z�X����ۂɔ�������\���̂����O�ł��BJDBC�̂قƂ�ǂ̃��\�b�h�ɂ́A���̗�O����������\�������邱�Ƃ���`����Ă��܂��B�ł�����JDBC�𗘗p����v���O�����ł́A�K���Ƃ����Ă����ق�try�`catch�߂ł��̗�O�ɑΏ����Ă���͂��ł��B
�@���̗�����Ă��������B
package kx; |
�@���̃v���O�����́AMySQL��mysql�f�[�^�x�[�X�ɐڑ����ADB�e�[�u���̓��e�̂�����HOST�AUSER�ADB��3�̃J�����ɂ��đS���R�[�h�̓��e��\�����܂��B�����g���u�����Ȃ�����̃v���O�����͐���ɓ��삵�܂����A�Ⴆ�v���O�����̎��s����MySQL���N�����Ă��Ȃ������肷��ƁA���̂悤�ȕ\���ɂȂ�܂��B
�@�������A���̕\�������ł����Ȃ�̏��邱�Ƃ��ł��܂��B�X�^�b�N�g���[�X�̏ڍ׃��b�Z�[�W�ŁA�uUnable to connect to any hosts�v�Ƃ����\�L�����邱�Ƃ���A�ڑ������s���Ă��邱�Ƃ�������A�f�[�^�x�[�X���̃g���u���i�N�����Ă��Ȃ��j�ł���Ɛ������邱�Ƃ��ł��܂��B�������A��������ɏڍׂȏ�m��K�v�������ʂł́ASQLException�̎����\�b�h�𗘗p����ƕ֗��ł��BSQLException�ɑ���catch�߂̒��ɁA���̃R�[�h�������Ă݂܂��傤�B
} catch(SQLException ex) { |
31�s�ڂ̉���2�s�lj�����i�Ԏ��̕����j |
�@getSQLState���\�b�h�́A��O��������SQLState�ƌĂ���ԃR�[�h�iXOPEN��������SQL99�ɏ]���j��Ԃ����\�b�h�ŁA���̃R�[�h�̓f�[�^�x�[�X�̎�ނɂ�炸�W�������ꂽ�R�[�h�ł��BgetErrorCode���\�b�h�́A�f�[�^�x�[�X�x���_�ŗL�̃G���[�R�[�h��Ԃ����\�b�h�ŁA�f�[�^�x�[�X�̎�ނɂ���ĕԂ��l�͈قȂ�܂����A���ꂼ��̃f�[�^�x�[�X�ɐ�剻����Ă��邽�߁A���ڍׂȏ�m�邱�Ƃ̂ł���ꍇ������܂��B
�@�ł́A�����SQL�����s�����Ă��镔���̃R�[�h���A���̂悤�ɏ��������Ă݂܂��傤�B
result = stmt.executeQuery("SELECT * FRM DB");
|
�@�ꌩ���Ă�������̂悤�ɁASQL��FROM�L�[���[�h���uFRM�v�ɂȂ��Ă���\��������Ă��܂��B���̏�ԂŃv���O���������s����Ƃǂ̂悤�Ȍ��ʂɂȂ�ł��傤���B
���s����Ǝ��̂悤�ɂȂ�܂��B
�@SQLState��42000�A�G���[�R�[�h��1064�ƂȂ�܂����B�Ⴆ�A1064�Ƃ����G���[�R�[�h��MySQL�ɌŗL�Ȕԍ��ł����AMySQL�̃}�j���A���Œ��ׂĂ݂܂��ƁAER_PARSE_ERROR�Ƃ������̂ƁA�ڍ׃��b�Z�[�W�̃t�H�[�}�b�g��m�邱�Ƃ��ł��܂��B���̗�ł́A�ڍ׃��b�Z�[�W�̓��e�ł����ނ˂ǂ̂悤�Ȍ�������m�邱�Ƃ��ł��܂����A���G�ȏւ̑Ή��ɂ́A�����̏������ɗ����Ƃł��傤�B
SQLException�ł́A�ڍ׃��b�Z�[�W�����ł͂Ȃ��ASQLState��x���_�ŗL�̃G���[�R�[�h�̂悤�ȏ������邱�Ƃ��ł��A�̉�͂ɖ𗧂Ă邱�Ƃ��ł���B
�@�����ł��Љ���@�́A�u�o�O�����炷�v�Ƃ������́A�u�o�O�����������Ƃ��̑Ώ��𑁂�����v�Ƃ������̂ł��B���ɁA�v���O�����̎��s���ɗ�O�����������ꍇ�A���̌������ǂꂾ����������ł��邩�́A��O�ւ̑Ώ����ǂ̂悤�ɋL�q���邩�ő傫���ς���Ă��܂��B�����ł͗�O�Ώ��̋L�q���@�ɂ��ė��ӂ��ׂ��|�C���g��3���Љ�܂��B
�@Java�̗�O�����@�\�́A�g���u�����������Ă��v���O�������őΏ����s�����Ƃ��ł��邽�߁A���ɗL�p�ȍ\����1�ł��B�������A���̍\����������Ǝg�����Ȃ��Ȃ��ƁA�������ăo�O�̔�����x�点�邱�ƂɂȂ�܂��̂Œ��ӂ��K�v�ł��Btry�`catch�߂��g���ė�O��ߑ�����Ƃ��A�����̍쐬�������\�b�h�����O�𑗏o����Ƃ��Ȃǂ́A���̂悤�ȓ_�𒍈ӂ��Ă݂Ă��������B
1.catch�߂ł�printStackTrace()�Ȃǂ��g���A��O�̃g���[�X��\������
�@try�`catch�߂��g���A�������O�������̃v���O�������ŕߑ����A�Ώ����s�����Ƃ��ł��܂��B����͔��ɋ��͂Ȏ��s����@�\�ł����A�Ώ��̓��e�̓v���O���}�ɔC����Ă��邽�߁A�v���O���}���K�ȑΏ����s��Ȃ��ƁA�������Đ[���ȏ�Ԃ������N�������Ƃ�����܂��B
�@�悭�Acatch�߂��L�q���Ă͂�����̂́A�����Ώ������Ă��Ȃ��i�ň��̏ꍇ�Acatch�߂̒�����ɂȂ��Ă���j�R�[�h���������邱�Ƃ�����܂����A����ł́A����������O��ߑ����Ă���̂ɁA�݂��݂����̗�O���������Ă���̂ƈꏏ�ł��B
�@�R�[�h�������Ă���r���ł́A���̗�O�ɂ���Ƃ������Ώ������߂��Ȃ��ꍇ������Ǝv���܂����A�Œ�ł�printStackTrace���\�b�h���g���iLog4j�Ȃǂ��g���Ă���ꍇ�́A���O�o�̓��\�b�h�ɗ�O�C���X�^���X��n���Ȃǂ��āj�A�ǂ��łǂ�ȗ�O�����������̂������͕\����������悤�ɂ��Ă����܂��傤�B��O���N�����Ă���̂ɁA�v���O���}������ɋC�t���Ȃ���A�o�O�̔����͂��ꂾ���x��Ă��܂����ƂɂȂ邩��ł��B
2.��O�������Ƀ��b�Z�[�W��t�����Ă���
�@�����ō�������\�b�h�����O�𑗏o����ꍇ�́A��O�̏ڍ׃��b�Z�[�W���ł��邾���ڂ����L�q���Ă����Ƃ悢�ł��傤�B��L�̂悤��printStackTrace���\�b�h�Ȃǂ��g����catch�߂ŏ�Ƀg���[�X��\�����Ă���ꍇ�́A��O��ߑ�����ƕK���ڍ׃��b�Z�[�W�������ɕ\������܂��B�ڍ׃��b�Z�[�W�ɏ����ڂ�����͂ł�����������Ă����A�o�O�̔����𑁂߂邱�ƂɂȂ���܂��B
3.��O�𑗏o����Ƃ��ɁA�����ƂȂ��O���܂߂Ă���
�@������N���X�̃I�[�o�[���C�h���\�b�h����������ꍇ�ȂǂɁA�����ŗ�O�𑗏o���������A���o�ł����O�̌^�����肳��Ă���ꍇ������Ǝv���܂��B�Ⴆ�A���̂悤�ȃR�[�h�����Ă��������B
package kx; |
�@����́AJSP�̃J�X�^���^�O�̃^�O�n���h���N���X�̃T���v���ł����A��`����Ă���doStartTag���\�b�h��javax.servlet.jsp.tagext.TagSupport�N���X�̃I�[�o�[���C�h���\�b�h�ŁA���o�ł����O��javax.servlet.jsp.JspException�N���X�Ɍ��肳��Ă��܂��B���̂��߁A���\�b�h���ɗ�O��ߑ������ꍇ�́A���ׂ�JspException�Ƃ��đ��o�������悤�ɃR�[�f�B���O���Ă��܂��B�ł������̂܂܂ł͗�O��������Ăяo�����ł́A��O�������������Ƃ͔F���ł��܂����A���ۂɂǂ̂悤�ȗ�O���������Ă���̂��܂ł͒m�邱�Ƃ��ł��܂���B
�@����o�[�W�����܂ł�Java�iJDK1.3�j�ł́A���̂悤�ɃR�[�f�B���O���邵���Ȃ������̂ł����A�ŋ߂�Java�iJDK1.4�ȍ~�j�ł́u�A����O�v�Ƃ����@�\���T�|�[�g���Ă��邽�߁A�����O�I�u�W�F�N�g�̒��ɁA���̗�O���������錴���ƂȂ�����O�I�u�W�F�N�g���܂߂邱�Ƃ��ł���悤�ɂȂ�܂����B�ł�����A��L�̗�O���o�������A
throw new JspException(ex);
|
�@�Ə���������A��������Ō����ƂȂ�����O��getCause���\�b�h�Ŏ��o���A�ڂ�������͂��邱�Ƃ��ł���悤�ɂȂ�܂��B������A�o�O�̌�������肷�邽�߂ɗL�p�ȕ��@��1�ł��B
Copyright © ITmedia, Inc. All Rights Reserved.