�K�؂ɏ�������Ȃ�������O���L���b�`����ɂ́H�F.NET TIPS

» 2005�N07��01�� 05��00�� ���J
[��F���F�C�f�W�^���A�h�o���e�[�W]
u.NET TIPSṽCfbNX

�A�ږڎ�

�@Windows�t�H�[���E�A�v���P�[�V������R���\�[���E�A�v���P�[�V��������������ہA��O����������”\����������ł́A��{�I�ɁATry-Catch�\���ɂ�肻�̗�O���L���b�`���ēK�؂ȏ��u���{���K�v������B�����������ɂ́A��O���������L���b�`�i���g���b�v�j����Ă��Ȃ��Ƃ����P�[�X�͑��X����A���̏ꍇ�ɂ̓A�v���P�[�V�����̎��s���Ɏ��̂悤��.NET Framework�W���̃G���[�E�_�C�A���O���\������Ă��܂����ƂɂȂ�B

OĂȂꍇɕ\G[E_CAO̗ ��O����������Ă��Ȃ��ꍇ�ɕ\�������G���[�E�_�C�A���O�̗�

�@���̃G���[�E�_�C�A���O�́A���ĕ�����Ƃ���A��ʓI�ȃ��[�U�[�ɂƂ��ĕ�����₷�����̂Ƃ͂����Ȃ��B�p�\�R���̑���Ɏ��M�̂Ȃ��l�ł���΁A����������r�[�ɍ��f���Ă��܂��Ƃ������Ƃ����邾�낤�B

�@���̂悤�Ȏ��Ԃ�����邽�߂ɁA.NET�W���̃G���[�E�_�C�A���O���A�����ƃ��[�U�[�E�t�����h���Ȏ���̃G���[�E�_�C�A���O�ɐ؂�ւ������Ƃ����v�]���A�����Ƒ����̂ł͂Ȃ����낤���B

�@�����Ŗ{�e�ł́AWindows�A�v���P�[�V������R���\�[���E�A�v���P�[�V�����ŏ�������Ă��Ȃ���O���A1�J���ł܂Ƃ߂ăn���h�����Ă��܂����@���Љ��B���̕��@�ɂ��n���h���������\�b�h���ŁA�Ǝ��ɍ쐬�����_�C�A���O��\������悤�ɂ���΁A�O�q�̗v�]�������”\�ł���B

��������Ă��Ȃ���O���n���h������ɂ́H

�@��������Ă��Ȃ���O���n���h������ɂ́A�ȉ���2�‚̕��@���p�ӂ���Ă���B

1. Application.ThreadException�C�x���g�̊��p

�@��������Ȃ�������O���n���h������ɂ́AWindows�t�H�[���Ȃ�Application�N���X�iSystem.Windows.Forms���O��ԁj��ThreadException�C�x���g���n���h�����ď�������΂悢�B���̃C�x���g�́AWindows�t�H�[���E�A�v���P�[�V�����̃��C���E�X���b�h�i��Application�N���X��Run���\�b�h�ɂ����s�����A�v���P�[�V�����̃R���e�L�X�g�j���Ŕ��������������̗�O���n���h�����邽�߂̂��̂ł���B

2. Thread.GetDomain().UnhandledException�C�x���g�̊��p

�@����ł́A��L�̃��C���E�X���b�h�ȊO�̃R���e�L�X�g��Ŕ���������O�́A�ǂ̂悤�ɂ��ăn���h������΂悢�̂��낤���H ������s���̂��A���݂̃A�v���P�[�V�����E�h���C���i��AppDomain�N���X�iSystem���O��ԁj�̃I�u�W�F�N�g�ɂ��\����AThread.GetDomain���\�b�h�ɂ��擾�ł���j��UnhandledException�C�x���g�ł���B

�@�Ⴆ�΁A�}���`�X���b�h�E�A�v���P�[�V�����Ȃǂɂ����āA���C���E�X���b�h�ȊO�̃X���b�h�Ŕ���������O��A�R���\�[���E�A�v���P�[�V�����Ŕ���������O�Ȃǂ́A���ׂĂ���UnhandledException�C�x���g���n���h�����ď�������΂悢�B

�@�ȏ�A�����2�‚̃C�x���g�����p���Ė������̗�O�����ۂɏ������Ă���̂��A���̃T���v���E�v���O�������B

using System;
using System.Windows.Forms;
using System.Threading;

namespace WindowsApplication1
{
  public class Program
  {
    [STAThread]
    static void Main()
    {
      // ThreadException�C�x���g�E�n���h����o�^����
      Application.ThreadException += new
        ThreadExceptionEventHandler(Application_ThreadException);

      // UnhandledException�C�x���g�E�n���h����o�^����
      Thread.GetDomain().UnhandledException += new
        UnhandledExceptionEventHandler(Application_UnhandledException);

      // ���C���E�X���b�h�ȊO�̗�O��UnhandledException�Ńn���h��
      //string buffer = "1"; char error = buffer[2];

      // �����Ŏ��s����郁�C���E�A�v���P�[�V�����E�X���b�h�̗�O��
      // Application_ThreadException�Ńn���h���ł���
      Application.Run(new Form1());
    }

    // ��������O���L���b�`����C�x���g�E�n���h��
    // �iWindows�A�v���P�[�V�����p�j
    public static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
    {
      ShowErrorMessage(e.Exception, "Application_ThreadException�ɂ���O�ʒm�ł��B");
    }

    // ��������O���L���b�`����C�x���g�E�n���h��
    // �i��ɃR���\�[���E�A�v���P�[�V�����p�j
    public static void Application_UnhandledException(object sender, UnhandledExceptionEventArgs e)
    {
      Exception ex = e.ExceptionObject as Exception;
      if (ex != null)
      {
        ShowErrorMessage(ex, "Application_UnhandledException�ɂ���O�ʒm�ł��B");
      }
    }

    // ���[�U�[�E�t�����h���ȃ_�C�A���O��\�����郁�\�b�h
    public static void ShowErrorMessage(Exception ex, string extraMessage)
    {
      MessageBox.Show(extraMessage + " \n�\�\�\�\�\�\�\�\\n\n" +
        "�G���[���������܂����B�J�����ɂ��m�点��������\n\n" +
        "�y�G���[���e�z\n" + ex.Message + "\n\n" +
        "�y�X�^�b�N�g���[�X�z\n" + ex.StackTrace);
    }
  }
}

��������Ă��Ȃ���O���n���h������T���v���E�v���O�����iC#�Fprogram.cs�j
�T���v���E�v���O�����iprogram.cs�j�̃_�E�����[�h
Windows�t�H�[���iform1.cs�j�̃_�E�����[�h

Imports System.Threading

Public Class Program

  <STAThread()> _
  Shared Sub Main()
    ' ThreadException�C�x���g�E�n���h����o�^����
    AddHandler Application.ThreadException, AddressOf Application_ThreadException

    ' UnhandledException�C�x���g�E�n���h����o�^����
    AddHandler Thread.GetDomain().UnhandledException, AddressOf Application_UnhandledException

    ' ���C���E�X���b�h�ȊO�̗�O��UnhandledException�Ńn���h��
    'Dim buffer As String = "1"
    'Dim [error] As Char = buffer.Chars(2)

    ' �����Ŏ��s����郁�C���E�A�v���P�[�V�����E�X���b�h�̗�O��
    ' Application_ThreadException�Ńn���h���ł���
    Application.Run(New Form1)
  End Sub

  ' ��������O���L���b�`����C�x���g�E�n���h��
  ' �iWindows�A�v���P�[�V�����p�j
  Public Shared Sub Application_ThreadException(ByVal sender As Object, ByVal e As ThreadExceptionEventArgs)
    ShowErrorMessage(e.Exception, "Application.ThreadException�ɂ���O�ʒm�ł��B")
  End Sub

  ' ��������O���L���b�`����C�x���g�E�n���h��
  ' �i��ɃR���\�[���E�A�v���P�[�V�����p�j
  Public Shared Sub Application_UnhandledException(ByVal sender As Object, ByVal e As UnhandledExceptionEventArgs)
    Dim ex As Exception = CType(e.ExceptionObject, Exception)
    If Not ex Is Nothing Then
      ShowErrorMessage(ex, "Application.UnhandledException�ɂ���O�ʒm�ł��B")
    End If
  End Sub

  ' ���[�U�[�E�t�����h���ȃ_�C�A���O��\�����郁�\�b�h
  Public Shared Sub ShowErrorMessage(ByVal ex As Exception, ByVal extraMessage As String)
    MessageBox.Show(extraMessage & vbLf & "�\�\�\�\�\�\�\�\" & _
     vbLf & vbLf & _
     "�G���[���������܂����B�J�����ɂ��m�点��������" & _
     vbLf & vbLf & _
     "�y�G���[���e�z" & vbLf & ex.Message & vbLf & vbLf & _
     "�y�X�^�b�N�g���[�X�z" & vbLf & ex.StackTrace)
  End Sub

End Class

��������Ă��Ȃ���O���n���h������T���v���E�v���O�����iVB.NET�Fprogram.vb�j
���̃v���O���������s����ɂ́A�A�v���P�[�V�����̃G���g���|�C���g���A�uProgram�N���X��Main���\�b�h�v�ɐ؂�ւ���K�v������B��̓I�ɂ́AVisual Studio .NET�́m�\�����[�V���� �G�N�X�v���[���n�Ńv���W�F�N�g���ڂ��E�N���b�N���ăR���e�L�X�g�E���j���[��\�����A���̃��j���[����m�v���p�e�B�n��I�����ām���v���W�F�N�g�́� �v���p�e�B �y�[�W�n�_�C�A���O���J���A���̃_�C�A���O�́m���ʃv���p�e�B�n�|�m�S�ʁn�́m�X�^�[�g�A�b�v�̐ݒ�n�̒l���uSub Main�v�ɐݒ肵�����΂悢�B

�T���v���E�v���O�����iprogram.vb�j�̃_�E�����[�h
Windows�t�H�[���iform1.vb�j�̃_�E�����[�h

�@���̃T���v���E�v���O���������s�����̂����̉�ʂł���B

Application.ThreadExceptionCxgɂnhO Application.ThreadException�C�x���g�ɂ��n���h��������O

Thread.GetDomain().UnhandledExceptionCxgɂnhO Thread.GetDomain().UnhandledException�C�x���g�ɂ��n���h��������O

�@�����ō쐬���Ă���_�C�A���O�͂��܂�ǂ���Ƃ͂����Ȃ����A���g���₷���A���₷����荞�ނ��ƂŁA���[�U�r���e�B�̍����G���[�ʒm�_�C�A���O�ɂ��邱�Ƃ��ł��邾�낤�B

�@�Ȃ�Visual Studio .NET���C���X�g�[������Ă���‹��Ȃǂł́A���̐ݒ���e�ɂ���ẮA��L�Ɏ�������O���n���h�����邽�߂̃C�x���g����������O�ɁA�f�o�b�K��I�����邽�߂́mJust-In-Time �f�o�b�O�n�_�C�A���O���\������邱�Ƃ�����B���̃_�C�A���O���\�������̂�}�~������@�ɂ‚��ẮA�uTIPS�F�m�A�v���P�[�V�����E�G���[�n�_�C�A���O���\���ɂ���ɂ́H�v���Q�Ƃ��Ăق����B

�J�e�S���FWindows�t�H�[���@�����ΏہF��O
�J�e�S���F�R���\�[���E�A�v���P�[�V�����@�����ΏہF��O
�g�p���C�u�����FApplication�N���X�iSystem.Windows.Forms���O��ԁj
�g�p���C�u�����FAppDomain�N���X�iSystem���O��ԁj
�֘ATIPS�F�m�A�v���P�[�V�����E�G���[�n�_�C�A���O���\���ɂ���ɂ́H


u.NET TIPSṽCfbNX

�u.NET TIPS�v

Copyright© Digital Advantage Corp. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B